(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Children's Library | Biodiversity Heritage Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of "Electronica Digital"

I 




Exigencms Computaclonales 

del Procesamiento Digital 

de ia informacion 



■^ CONTEXTO 

El proposito general de este tema es describir el modelo matemdtico que subyace a los 
circuitos combinacionales. Es decir, la representacion digital (binaria) de la informacion y los 
operadores bdsicos del algebra de Boole. Despues estudiamos las distintas formas de representor 
funciones logicas, los cambios de representacion y la minimizacion. 

Estas funciones logicas serdn usadas posteriormente para describir el comportamiento externo 
de todos los circuitos combinacionales, llamados asi porque en el caso ideal su respuesta en un 
instante solo depende del valor de las entradas en ese mismo instante. Estos circuitos estdn 
relacionados con todos aquellos aspectos de la computacion encargados de controlar la ruta de 



Electr6nica Digital 



datos y de realizar operaciones aritmeticas o Idgicas con esos datos. 

Este tema es el primero del texto y su contenido es bdsico para todos los demds. Sus 
antecedentes son de naturaleza logica y los estudia el alumno, en general, de forma concurrente. 

-f-f CONOCIMIENTO PREVIO NECESARIO 

El nivel de descripcion del tema es muy elemental por lo que no se necesitan conocimientos 
previos especificos. Vamos a introducir la distincion entre procesado analdgico y digital y despues 
iremos introduciendo y explicando todos los conceptos a medida que scan necesarios para el 
desarrollo del tema. Conviene recordar aqui la equivalencia del algebra de Boole con los temas 
andlogos que, posiblemente, haya estudiado el lector en los textos de Logica. 

^-^■^ Ob JETivos DEL Tema 

Los objetivos del tema deben coincidir con lo que queremos que el alumno sepa al final del 
tema y esto se puede especificar en extenso, dando la descripcion general de cada uno de los 
objetivos. Tras el estudio de este tema el alumno deberd haber alcanzado los siguientes objetivos: 

Objetivo 1: Distinguir claramente entre el procesado analdgico y digital, entendiendo que son dos 
formas diferentes de representor la informacion (los datos) y de operar con ellos para 
obtener otros datos. 

Objetivo 2 : Conocer los postulados y teoremas bdsicos del Algebra de Boole y saber demostrar los 
teoremas. 

Objetivo 3: Saber representar funciones Idgicas usando distintos tipos de operadores (AND, OR, 
NOT; solo NAND; solo NOR) y saber pasar de una representacion a otra. Por ejemplo, 
de (AND, OR, NOT) a solo NAND o de NAND a NOR o de terminos minimos (suma de 
productos) a terminos mdximos (productos de sumas). 

Objetivo 4: Saber analizar un circuit o logico. Es decir, saber pasar del esquema de un circuito a la 
expresion o expresiones Idgicas que enlazan las variables de entrada al circuito con 
las variables de salida. 



12 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACIPN 

Objetivo 5: Saber sintetizar un circuito logico. Es decir: (a) saber pasar de un conjunto de 
especificaciones funcionales a una tabla de verdad, (b) de una tabla de verdad a una o 
mdsfunciones logicasy (c) de estas funciones al circuito que las satisface. 

Objetivo 6: Saber minimizar funciones logicas. Es decir, dada una cierta funcion logica, encontrar 
otra equivalente (con la misma tabla de verdad) pero con menos terminos o con 
terminos con menos variables. Este objetivo estd enlazado con el objetivo 2, porque el 
proceso de minimizacion se basa en el uso adecuado y repetido de los postulados y 
teoremas del Algebra de Boole. Sin embargo, para alcanzarlo es conveniente usar el 
conocimiento adicional del metodo de Karnaugh que recoloca los distintos terminos de 
forma tal que hace evidente el proceso de minimizacion para funciones de hasta 4 6 5 
variables. 

■^-^-^■^ GUIA DE ESTUDIO 

Al ser el primer tema, las recomendaciones referentes al contenido son las de identificar en 
cada momento en que objetivo nos encontramos y usar ejemplos para comprobar nuestras propuestas 
de minimizacion, andlisis y sintesis. Siempre usamos ejemplos con pocas variables porque asi es 
relativamente sencillo comprobar las funciones que calculan los distintos circuitos, los postulados, 
los teoremas y los resultados de una minimizacion usando las tablas de verdad y/o los diagramas de 
Venn. Es decir, comprobando para todas y cada una de las configuraciones de entrada, cudl es la 
configuracion de salida (induccion completa). 



13 



ElectrOnica Digital 



Contenido del Tema 



1.1. Procesamiento Digital de la Informacion 

Todo sistema que procesa informacion puede ser descrito de acuerdo con el modelo 
computacional de \afigura 1.1. Se comienza distinguiendo entre medio y sistema y el comportamiento 
del sistema se describe en terminos de un conjunto de variables de entrada, X = {x,.(f)| , un 

conjunto de variables de salida, Y=<^yj{t)^, y un conjunto de reglas de transformacion, 

^ ~ Yu^^n ' 1"^ realizan procesos sobre las variables de entrada y los contenidos de memoria, M = 

(ff^kO)}^ para generar los valores de las variables de salida y modificar los contenidos de memoria. 
Toda computacion puede describirse entonces en terminos de un conjunto de senales, {X, Y, M), que 
representan la informacion y de un conjunto de reglas, R, que especifican los procesos que se usan 
para transformar la representacion de entrada, X, en la correspondiente representacion de salida, Y. 

Las variables de entrada y salida son magnitudes fisicas, en general sefiales electricas 
(tensiones o corrientes), que sirven de soporte material de la informacion que se va a procesar. Estas 
sefiales pueden ser analogicas o digitales. Una seiial analogica, xjt), admite valores de un espectro 
continue entre ciertos valores extremes que marcan su rango dinamico. Por ejemplo, puede ser una 
serial periodica de tipo sinusoidal que varia entre +5voltios y -Svoltios, x'^ {t) = 5 cos cot , o una serial 
en forma de rampa, x^ (t) = 2t . 

Por el contrario, una senal digital, Xj)(t), solo tiene dos valores posibles, "alto" o "bajo", 
asociados a dos estados logicos x^="l", Xj)="0". Cualquier magnitud analogica admite una 
representacion digital equivalente y viceversa. Es importante seiialar que el valor fisico real de los dos 
estados logicos no es relevante a nivel conceptual. Por ejemplo, el "7" logico puede estar asociado a 
x^=5 Fy el "0" logico a x^=-5 V. O bien, el "1 " a Xj^=l Vy el "0" a Xj)=0 V. Veremos mas adelante 

14 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACIPN 

como la seleccion de unos u otros valores esta asociada a ciertos criterios de naturaleza electronica, 
tales como la velocidad de conmutacion, el tipo de transistor usado en la sintesis de los operadores 
logicos (bipolar o MOS), la familia logica (TTL o ECL, por ejemplo) o la inmunidad al ruido. 



Entradas 



MEMORIA, M 



X 



^ 



Salidas 
■^ Y 



REGLAS 
de 
TRANSFORMACI6N 
R 



C> 



MEDIO 



Figura 1.1. Modelo computacional basico. 

De la misma forma en que la informacion puede representarse mediante seiiales analogicas 
(continuas) digitales (binarias), las reglas computacionales, (R^.RjJ, tambien pueden ser analogicas 
digitales. Una regla de computacion analogica, R^, produce seiiales de salida, y(t), continuas 
combinando las entradas y los contenidos de memoria mediante operaciones analogicas lineales o no 
lineales. Por ejemplo, sumando, multiplicando por una constante, derivando, integrando, etc.). Asi, 
las siguientes expresiones son ejemplos de computacion analogica: 



R'^:y{t)=A-x{t) 
R'^:y{t)=Aj-Xj{t)+A2-X2{t) 

R^^ : y{t) = Aj ■X;{t) + Blx2{t)-dt + C 



dx^if) 



dt 



De forma equivalente, una regla de computacion digital, Rj^, produce representaciones binarias 
de salida (vectores logicos de "ceros" y "unos"), combinando la representacion binaria de entrada, 
XQ(t), con el contenido de memoria, Mj^(t), mediante operadores digitales. Un conjunto completo de 
estos operadores lo forman la suma logica (operador "OR"), el producto logico (operador "AND") y la 



15 



Electr6nica Digital 



inversion o complemento de una variable (operador NOT). Asi, las siguientes expresiones ifigura 1.2) 
son ejemplos de computacion digital, que se muestran asociadas al simbolo que las representa. 



R 



R 



R 



R 



1 


XqW 


D- 


x,(t) 


2 


Xf/O 


D- 


Xj(t) 


3 
D 


Xo(t) 


4 


Xo(t) 



D 




y(t)=xg(t)-xj(t) 

y(t)=xg(t)+x,(t) 
y(t)=To(t) 



y(t)=xg(t)-xj(t)+xi(t) 



Figura 1.2. Expresiones de computacion digital. 

Como las magnitudes binarias solo pueden poseer uno de dos valores, (0,1), los operadores 
digitales se pueden representar mediante "tablas de verdad" que especifican de forma completa, en 
extenso, el valor que toma la salida para cada una de las posibles configuraciones de valores en la 
entrada. Asi, para dos variables, Xg(t), x,(t), hay cuatro posibilidades de composicion: {xq=0, x,=0), 
{xq=1, Xj= 0), {xq=0, x,= 1) y {xq=1, Xj= 1), con lo cual la especificacion de las reglas usadas como 
ejemplo es la que se muestra en la/igura 1.3. 



Xj XQ 


Xi 


XJ-XQ 


Xj+Xq 


- 

X]-Xo+ X, 





1 








1 


1 


1 





1 


1 


1 








1 





1 1 





1 


1 


1 



Figura 1.3. Tablas de verdad que especifican en extenso los operadores logicos usados en el ejemplo a partir 
de las cuatro configuraciones de valores posibles en las dos variables de entrada, {xg, xj). 

La figura 1.4 ilustra la representacion y el procesado digital de la informacion comparando con 



16 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACIPN 

la solucion analogica equivalente para el caso de una sencilla suma. Se incluye tambien las 
transformaciones que serian necesarias para cambiar de representacion, es decir, las conversiones 
analogicas-digitales y digitales-analogicas. 



SUMA ANALOGICA 



xj(t) = 3 cos wt 

X2(t) = t 



♦-t 



AW 



-AV\/ 1 



-AAA^ 



y(t) = t+3cos wt 




CONVERSION 
A/D 



1> 




f 




SUMA DIGITAL 


\ 


X7-- 

^2=- 








■Olio 


• 0101-L 

■■ 0011 

V 


r^ 




— y = 




?> 


1^ 


J 



Figura 1.4. Ilustracion cualitativa de la suma analogica comparada con la suma digital 

En este texto nos vamos a preocupar de hacer un analisis del conjunto minimo de operadores 
digitales necesarios para la smtesis de cualquier procesador digital y de estudiar despues su sintesis 
modular a nivel logico para incluir finalmente la realizacion fisica de esos modules basicos en las 



17 



Electr6nica Digital 



tecnologias bipolar, MOS y C-MOS. Afortunadamente, el diseno digital y por consiguiente la 
electronica que lo soporta son modulares, de forma que un conjunto completo de operadores logicos 
solo necesita tres circuitos: AND, OR y NOT. Veremos mas adelante que basta una combinacion de 
dos de estos tres operadores (NAND 6 NOR) para poder sintetizar cualquier funcion logica. 

1.2. FUNCIONES COMBINACIONALES Y SECUENCIALES NECESARIAS. 

La electronica digital es una ingenieria. Es decir, su tarea fundamental es la sintesis de circuitos 
que satisfacen determinadas especificaciones funcionales. Primero aparece una necesidad de 
procesamiento digital de la informacion y despues buscamos un circuito que satisface esa necesidad 
siguiendo, aproximadamente, los siguientes pasos: 



1. Descripcion de la computacion en lenguaje natural de forma clara, completa, precisa 
e inequivoca. 

2. Traslacion de esa descripcion a un conjunto de especificaciones funcionales en un 
lenguaje logico formal. 

3. Reescritura de esa descripcion formal en terminos del modelo computacional 
de lajigura 1.1. Es decir, en terminos de entradas, estados de memoria, salidas y 
reglas de transformacion, {R^}, que representan la dinamica interna de la 
computacion especificando como se producen el nuevo estado y las salidas a partir de 
las entradas y del estado anterior. 

4. Sintesis modular del sistema en terminos de un conjunto completo de operadores 
minimos. 



Todas las funciones necesarias para el procesamiento digital de la informacion, es decir todas 
las reglas Rj^, pueden incluirse en dos grandes apartados: 

a) Funciones Combinacionales . 

b) Funciones Secuenciales. 

Son funciones de logica combinacional todas aquellas funciones en las que para obtener el 
valor de la salida en un cierto instante solo necesitamos conocer el valor de las entradas en ese mismo 



18 



TeMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACI6N 

instante. Son funciones de decision, sin "memoria". El modelo matematico soporte de esta parte de la 
electronica digital es el Algebra de Boole, de la que mas adelante incluiremos un resumen. Ejemplos 
de este tipo de funciones son entre otras: 

a.l. Operaciones aritmetico-logicas . 

a.2. Funciones de ruta de datos: multiplexes y demultiplexos . 

a.3. Circuitos cambiadores de codigo. 

Es cierto que, aunque en el caso ideal las funciones combinacionales son "instantaneas", a la 
hora de sintetizar fisicamente estas funciones usando circuitos integrados reales aparecen pequeiios 
retardos no deseados. El objetivo del diseno en electronica digital combinacional es hacer minimo ese 
retardo que limita la velocidad de conmutacion. 

Aparece asi el primer conjunto de necesidades computacionales. Necesitamos saber 
representar, analizar y sintetizar circuitos logicos combinacionales. Es importante que el alumno 
distinga bien estas tres tareas. 

iQue es representar?. Representar una funcion logica combinacional es encontrar un 
procedimiento para describir de forma completa la funcion. Sea cual fuere la configuracion de valores 
en las variables de entrada, la representacion debe permitir conocer el valor de la salida. Hay 
esencialmente dos formas de representacion: en extenso y en intenso. 

Decimos que una funcion combinacional esta representada en extenso cuando poseemos una 
tabla con todos los valores de las entradas y un vector logico de salida que nos dice para cada 
configuracion (OO-O, OO-l, ..., ll-l), si la salida debe estar en alta (1) 6 en baja (0). Las dos formas 
mas usuales de representar funciones logicas en extenso son las tablas de verdad y los diagramas de 
Venn, en los que a cada variable logica se le asocia un area dentro de un rectangulo. 

Decimos que tenemos una funcion combinacional representada en intenso cuando hay una 
expresion booleana que la describe. Por ejemplo, f{x,y,z)=\xy-\-xy)z. Logicamente, al dar 
valores a las variables {x, y, z) obtenemos la tabla en extenso. 

^Que es analizar?. Analizar un circuito en logica combinacional es encontrar la representacion 
de las funciones logicas que lo describen. En el sencillo ejemplo de suma digital mostrado 
en lafigura 1.4 el proceso de analisis debe damos la expresion logica de la relacion entre las variables 



19 



Electr6nica Digital 



de entrada, {xi,X2) y la salida, y. Siguiendo el camino de las sefiales es facil ver que en este caso la 
funcion y =f(xj,X2) es de la forma: 



y 



^f{xj.X2)^(xjX2 +XIX2) i-jjj 



^Que es sintetizar?. Es el proceso inverso al de andlisis. Partimos ahora de una funcion 
logica, y=f(xj,X2), 6 de un conjunto de A'' funciones logicas de M variables, 
yj^(t)=fi^[x j(t),X2(t), ...,xj^t)J , k=l, 2, ..., N, y buscamos el circuito que realiza fisicamente a esa 
funcion de forma que reproduce la misma relacion entre las variables de entrada y las de salida para 
todas y cada una de las combinaciones de valores posibles. 

El problema de sintesis en sistemas digitales es mas complicado que el de analisis porque el 
punto de partida de la sintesis de un determinado circuito logico no esta especificado con la claridad y 
precision de la logica sino que parte de una descripcion en lenguaje natural. For ejemplo: 



Disenar un circuito que de paso a la orden de arranque de un cache solo cuando 
las puertas (xj) esten cerradas (xj=l), el cinturon de seguridad (X2) abrochado 
(x2=l), las luces (x^ apagadas (x^=l) y el motor (xJ no esteya en marcha (x^=0). 



Es decir, los puntos 1° y 2" del procedimiento general son importantes y nunca son tan sencillos 
como en el ejemplo del coche. Una vez que tenemos una descripcion clara, precisa y completa de una 
funcion combinacional, es relativamente sencillo encontrar el circuito que la realiza fisicamente. Asi, 
en el ejemplo del coche la funcion seria: y = x 1X2x^x4 . No solo aparecen dificultades a la hora de 

asignar variables logicas a frases del lenguaje natural ("puerta abierta cerrada", "luces encendidas", 
"motor en marcha", . . .) sino que tambien aparecen dificultades en la tarea de sintesis digital a la hora 
de obtener un conjunto completo de especificaciones funcionales claras, precisas e inequivocas (un 
"algoritmo") del metodo adecuado para resolver una tarea. Por ejemplo: 



1. Disenar un circuito que realice operaciones aritmeticas en coma flotante para 
palabras de 16 bits. 

2. Disenar un multiplicador en complemento a 2 de alta velocidad. 



Estas descripciones iniciales estan mas proximas a la logica y a la teoria de automatas que a las 



20 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACIpN 

del ejemplo del coche pero necesitan mucho conocimiento sobre formas de representacion de numeros 
positives y negatives, distintos algoritmos de multiplicacion, etc... Su estudio, hasta conocer los 
circuitos intermedios basicos, es objeto de la Electronica Digital. A partir de un cierto momento, 
cuando estos circuitos se integran en arquitecturas mas complejas, su estudio corresponde a la 
Arquitectura de Computadores o a las otras grandes areas de aplicacion de la Electronica Digital: 
Comunicacion, Control e Instrumentacion. 

Hemos visto una primera justificacion de las necesidades computacionales en logica 

combinacional. Sin embargo, hay otro gran apartado de necesidades de computacion en las que es 

imprescindible introducir el tiempo como variable de cdlculo. A los circuitos correspondientes se les 

llama circuitos secuenciales y su modelo matematico es la Teoria de Automatas Finitos. Representan 

aquellas situaciones en las que para calcular la respuesta de un sistema en un cierto instante, / = t^, no 

basta con conocer las entradas en ese instante, sine que necesitamos conocer su "estado" y por 

consiguiente sus entradas y salidas en instantes anteriores. Decimos entonces que el sistema tiene 

/ 
"memoria" . 

Ejemplos de funciones secuenciales basicas en la electronica digital son, entre otros: 

b.l. Contadores. 

b.2. Registros de desplazamiento. 

b.3. Temporizadores 

b.4. Memorias RAM. 

Para la sintesis de estas funciones secuenciales necesitamos los mismos operadores que usamos 
en la logica combinacional, mas la representacion computacional del retardo. Es decir, una funcion 
Q(t„) que coincide con el valor de la entrada, D, en el instante anterior 

Q{t)=D{t-At) obien e(/„)= ^(?„-/)w [12] 

Esta funcion la realiza un circuito biestable tipo D (de "Delay"). Existen otros tipos de 



'*' A lo largo del texto usaremos de forma indistinta una u otra notacion. En algunas ocasiones para simplificar 
tambien usaremos Qj,=Dj,.]. Es decir, D(t-At), D(tn.i) y Dn.i significan lo mismo: el valor de D en el instante 
de tiempo anterior al que se esta considerando en este momento. 



21 



Electr6nica Digital 



biestables (T, R-S y J-K) que incluyen tambien el retardo pero con funciones de disparo diferentes. 

Veremos en su momento que estos circuitos biestables se pueden realizar mediante el acoplo de 
dos inversores con realimentacion positiva, haciendo que siga siendo cierto que toda la electronica 
digital se puede sintetizar con un unico tipo de operador. 

Seguimos avanzando en la contestacion a la pregunta que daba titulo a este apartado. Es decir, 
estamos enumerando el conjunto de funciones necesarias para la representacion, analisis y sintesis de 
sistemas digitales. Una relacion de esas necesidades, razonablemente completa, deberia incluir al 
menos a las siguientes: 

a) Funciones combinacionales, cuyo modelo matematico es el algebra de Boole que vamos a 
estudiar a continuacion. 

b) Funciones secuenciales, cuyo modelo matematico es la teoria de automatas que estudiaremos 
mas adelante, para aproximarla al tema en el que se usa. 

c) Funciones de temporizacion, tanto sincronas como asincronas, necesarias para engarzar en 
coorden todas las operaciones combinacionales y secuenciales que constituyen un sistema 
digital. Ejemplos de funciones de temporizacion son: 

c.l. Monoestables 

C.2. Osciladores astables. 

C.3. Temporizadores programables. 

C.4. Relojes monofdsicos y polifdsicos. 

Una vez que tenemos el panorama aproximado de las funciones necesarias para la sintesis de 
sistemas digitales, dedicaremos el resto del tema al estudio de las bases matematicas y el resto del 
libro al estudio de esas funciones siguiendo un criterio de complejidad creciente. 

1.3. Variables y Operadores Logicos: Algebra de Boole 

Tal como hemos desarrollado en extenso en el apartado anterior, toda la electronica digital se 
basa en el uso de variables binarias y operadores logicos para representar, transformar, almacenar y 
recuperar informacion. El modelo matematico soporte es el algebra de Boole y la meta final sera 
encontrar realizaciones fisicas en distintas tecnologias electronicas de sus operadores basicos. 

22 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACION 

El algebra de Boole fue desarrollada inicialmente para el estudio formal del lenguaje. En su 
libro "Las Leyes del Pensamiento" decia George Boole que todas la operaciones del lenguaje, 
considerado como soporte del razonamiento, pueden hacerse computacionales mediante un sistema de 
simbolos compuesto por los siguientes elementos: 

a) Simbolos literales, {X, Y, Z,...), que representan cosas, como sujetos de nuestras concepciones. 

b) Simbolos de operacion, como (+, ■, complemento), que representan operaciones mentales por 
medio de las cuales combinamos los conceptos o formamos nuevos conceptos referentes a los 
mismos elementos. 

c) El signo de identidad (=). 

Estos simbolos estan sujetos a leyes bien defmidas que C.E. Sharmon en 1938 y en su trabajo 
"Un Andlisis Simbolico de los Circuitos con Redes", asocia a representaciones fisicas en terminos de 
niveles de tension y circuitos conmutadores que conducen o no conducen. Nace asi la Teoria de la 
Conmutacion y con ella el puente entre la logica formal y su realizacion fisica mediante circuitos 
electronicos combinacionales o secuenciales. 

Veamos ahora un resumen del Algebra de Boole de dos valores de clase B = {0,1}. Si sobre un 
conjunto de variables binarias {X, 7, Z,...) defmimos las operaciones de suma logica (+), producto 
logico (■) y complementacion {inversion), el conjunto queda dotado de las estructura del Algebra de 
Boole si cumple los siguientes postulados: 

P.l. Las operaciones (+ y ■) son operaciones cerradas. El resultado de aplicarlas a cualesquiera de 
las variables del conjunto, producira variables del conjunto. 



P.l.a: Si XeBiYeB, entonces (X+Y)eB 
P.l.b: Si XeBiYeB, entonces (X-Y)eB 



fL3J 
P.2. Existen elementos neutros para ambas operaciones ("0" para la suma y "1" para el producto). 



P.2.a: X+0=X 
P.2.b: X-l =X 



[L4] 



23 



Electr6nica Digital 



P.3. Ambas operaciones son conmutativas: 



P.3.a: X+Y=Y + X 
P.3.b: X-Y=Y -X 



[1.5] 



P.4. Ambas operaciones son distributivas , una respecto de la otra: 



P.4.a: X+ Y -2 = (X + Y) • (X-^ Z) (La suma es distributiva respecto al producto) 
P.4.b: X (Y + Z) = X -Y + X -Z (El producto es distributivo respecto a la suma) 



[1.6] 

P.5. Complementariedad. Para cada variable X existe su complementaria Xy entre ambas se 
cumplen las siguientes condiciones: 



P.5.a: X + X=l 
P.5.b: X-X=0 



[1.7] 



Ejerclcio: Demostrar que "el producto es distributivo respecto de la suma ". 

Solucion: 
Su expresion logica es: 

X(Y+Z)=XY+XZ [1.8] 

Podriamos demostrarlo por induccion completa, poniendo las tablas de verdad de ambas 
expresiones supuestamente equivalentes y viendo despues que los dos circuitos correspondientes 
tambien son equivalentes: Las figuras 1.5 muestra las tablas de verdad y la L6 los circuitos 
correspondientes a las expresiones logicas de ambos lados del igual. 

Observese que la columna correspondiente a la parte izquierda del igual, X(Y+Z), y la 
correspondiente a la parte derecha, XY+XZ, son iguales. Tambien los circuitos nos muestran el 



24 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACI6N 



caracter intercambiable del orden de las variables para las operaciones OR y AND. 



X 


Y 


z 


y+z 


X(Y+Z) 


XY 


xz 


XY+XZ 
































1 


1 

















1 





1 

















1 


1 


1 














1 























1 





1 


1 


1 





1 


1 


1 


1 





1 


1 


1 





1 


1 


1 


1 


1 


1 


1 


1 


~J— 



"•son iguales' 



Figura 1.5. Tab las de verdad para demostrar la distributividad del producto respecto de la suma. 



Primero calculo el "OR" 



X- 



Y 
Z 




Y+Z 



y despues el "AND'' 



X(Y+Z) 



Primero calculo el "AND" i y despues el "OR" 




X(Y+Z) 



Figura 1.6. Circuitos funcionabnente equivalentes. 



De forma analoga podriamos demostrar que tambien la suma es distributiva respecto del 
producto. Es decir, que X+YZ=(X+Y)(X+Z). 

Una propiedad importante del algebra de Boole es la dualidad. Cada miembro de un par dual, 
por ejemplo X+0 = X, se puede obtener del otro miembro del par, {X -1 = X), intercambiando los 
elementos "0" y "1" y los operadores suma por producto y viceversa. Si una relacion es cierta, 
tambien lo sera su dual. 



25 



Electr6nica Digital 



Los operadores suma y producto y la complementacion han sido defmidos en el apartado 
anterior mediante sus tablas de verdad. Esta es una definicion en extenso, es decir describimos la 
funcion realizada por un operador listando el conjunto de todas las configuraciones de valores 
posibles en sus variables de entrada y viendo cual es la respuesta a cada una de esas configuraciones. 
Esta forma de definir los operadores nos permite usar el procedimiento de induccion completa para 
demostrar los postulados P.2, P. 3, P.4 y P. 5 y para pronunciamos acerca de la verdad o falsedad de 
cualquier otra relacion. 

La otra forma usual y sencilla de demostrar la verdad o falsedad de una determinada relacion 
logica para expresiones con pocas variables es usar los diagramas de Venn, basados en la union e 
interseccion de conjuntos. A cada variable se le asocia un area matizada dentro de un rectangulo. Su 
complementaria es el resto del rectangulo, de forma que el area del rectangulo representa la unidad. 
La figura 1.7 ilustra el procedimiento, para la negacion de una variable, (X), la suma (X+Y) que 
incluye el area que pertenece a X6 pertenece a 7, y el producto (XY) que solo incluye el area que 
pertenece aXy aY.Si dos expresiones son iguales deben de generar la misma area matizada. 




a) 1 



b) 



c) X 




d) X 



e) X+Y 



f) XY 



Figura 1. 7. Diagramas de Venn 

Veamos ahora el mismo ejemplo de distributividad respecto a la suma usando los diagramas de 
Venn. Es decir, veamos que X(Y+Z) produce la misma area matizada que XY+XZ. La. figura 1.8 ilustra 
el proceso: 



26 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACI6N 



XY 





Y+Z 




YZ 




X(Y+X) 




XY+ YZ 




Figura 1.8. Demostracion de distributividad del producto respecto de la suma mediante diagramas de Venn. 

A partir de los postulados P.l, ..., P.5, enunciados anteriormente, pueden enunciarse y 
demostrarse un conjunto de teoremas, entre los que podemos destacar los siguientes: 



Teoremas 


T.l: 


Doble complementacion 


~x = x 


T.2: 


Idempotencia 


x+x=x 
XX =x 


T.3: 


Absorcion 


X+X-Y - X 
X-(X+Y)=X 


T.4: 


Adyacencia 


X-Y+X-Y=X 

{x + y)-(x + y) = x 


T.5: 


Teoremas de DeMorgan: 


X+Y =X Y 
X Y = X + Y 



Veamos ahora, recordando los cinco postulados del Algebra de Boole, como podemos 



27 



Electr6nica Digital 



demostrar algunos de estos teoremas. 



Ejercicio: Demostrar el teorema de "absorcion ". 
Solucion: 

Las expresiones logicas del teorema de absorcion son: 
X+XY=X y X(X+Y)=X 



[1.9] 



Podemos demostrar este teorema mediante los tres procedimientos vistos anteriormente. Es 
decir, por tablas de verdad, por aplicacion directa de los postulados y mediante diagramas de Venn. 

a) Por tablas de verdad 



X 


Y 


YY 


X+XY 


X+Y 


X(X+Y) 























1 








1 





1 








I 


1 


1 
1 


1 


1 


1 


1 


1 



Figura 1.9. Demostracion del teorema de absorcion mediante tablas de verdad. 

Observese como coinciden las columnas correspondientes a X con las correspondientes a X+XY 
yX(X+Y). 

b) Por aplicacion directa de los postulados 

Sacando a la variableXcomo factor comun. As,\,X+XY=X(l+Y) = X, puesto que \ + Y=\. 

c) Por diagramas de Venn: 




Figura 1.10. Demostracion del teorema de absorcion mediante diagrams de Venn. 



28 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACION 

Si pensamos en terminos de circuitos, la demostracion tambien es evidente, puesto que a la 
puerta "OR" de salida llegan Xy el producto XY, que siempre es mas restrictivo que solo X. 




Figura 1.11. Demostracion mediante el circuito que implementa la expresion logica del teorema de absorcion. 
Dejamos para el alumno la demostracion de la expresion dual X(X+Y)=X. 



Ejercicio: Demostrar el teorema de adyacencia 
Solucion: 

El teorema de adyacencia se pone de manifiesto mediante las siguientes expresiones: 



XY + XY = X y {X + Y)-(x + y)=X 



[1.10] 



Ya deberiamos saber actuar sin mucho pensamiento: ponemos las tablas de verdad o dibujamos 
los diagramas de Venn o aplicamos directamente los postulados y despues podemos implementarlo 
dibujando los circuitos. 

Veamoslo mediante las tablas de verdad. 



X 


Y 


XY 


XY 


xy+xy 


X+Y 


X+Y 


(X+Yy(X+Y) 




















1 








1 











1 








1 








1 


1 


1 


1 


1 


1 


1 


1 





1 


1 


1 


1 



son iguales ■ 



Figura 1.12. Demostracion de los teoremas de adyacencia. 



29 



ElectrOnica Digital 



Como podemos observar las tres columnas coinciden. Veamos ahora los circuitos que 
implementan ambas funciones. 




Figura 1.13. Implementacion de los teoremas de adyacencia. 

Observese que el paso de una expresion a su dual solo ha permutado la posicion de los circuitos 
AND con la de los OR. 



El primero de los teoremas de DeMorgan lo vamos a demostrar por induccion completa y el 
segundo graficamente, mediante el uso de diagramas de Venn. Los resultados se muestran en 
\z. figura 1.14. En 1.1 4. a, hemos escrito las cuatro configuraciones logicas asociadas a las dos 
variables ^e Y (00, 01, 10, 1 1) y los estados logicos correspondientes a {X + y) , (x + y] , X , Y y 



X ■ Y Observese que la columna correspondiente a X + Y coincide con la correspondiente a X -Y , 



con lo que queda demostrada la igualdad de ambas expresiones: X + Y = X -Y . 

Por otro lado, en \a figura 1.14.b se parte de las areas asociadas a X e 7 y se construyen las 



areas asociadas a X , Y , X ■¥ y X + Y . Observese como el area rayada asociada a X + Y es la 
misma que la que corresponde a X -Y . 



30 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACI6N 



(a) 



X 


Y 


X+Y 




X Y 




1 


X+Y 


XY 





1 

1 




1 



1 




1 
1 
1 


1 





1 1 
1 
1 



1 











, 1 


— coinciden 


1 L 



(b) 




)r!|j|iN|Hii|piiJ 
iliiilih^ liif Y 




Figural.14. Demostracion de los Teoremas de Morgan, (a) Por induccion completa. (b) Por diagramas de 
Venn. 



Ejercicio: Usar un simulador para comprobar que las respuestas correspondientes a los circuitos 
de ambos lados del igual, [X + Y ) y [X ■¥), coinciden 

Solucion: 

En la simulacion, para generar de forma automatica la tabla de verdad del circuito, usamos 
como senales de entrada dos relojes cuyas frecuencias son una el doble de la otra, asi tenemos las 
cuatro configuraciones posibles para las dos variables Xe Y. Hemos tornado para Xuna frecuencia de 
IMHz y para 7 una frecuencia de 2MHz. La figura 1.15 muestra las tablas de verdad, el circuito y el 



cronograma correspondiente a X + Y = X ■¥ . 



31 



Electr6nica Digital 



|CLK_r-u^ 1^ 



|CLK_n_c >- 



U1A 




r\ U2A 



^A 



U5A 



,1 



-o Salidal 



no(X+Y) 



^ oSaHda2 

no(X) no(Y) 



X:1 
V:l 

Salidal 
Salida2 



Os 



1 .Ous 



2.0US 



Time 



3.6us 



X Y 


X+Y (salida 1) 


XY (salida 2) 




1 
1 

1 1 


1 





1 








1 1 
coinc 


1 
iden 


1 



Figura 1.15. Simulacion de los circuitos X + Y y X -Y (leyendo en vertical los valores de las variables del 
cronograma , comprobamos la tabla de verdad) 



32 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACI6N 

1.4. FuNcioNES Logic as: Formas Canonic as 

Un conjunto de variables logicas conectadas por cualquier combinacion de los operadores 
bdsicos (suma, producto y complementacion) constituye una funcion logica. Mas formalmente, una 
funcion logica,,/^ de n variables, {xj, Xj, ...x„), sobre un algebra de Boole B = {0,1}, es cualquier 
aplicacion del producto cartesiano de B por si mismo n veces, 5", en B. 



B" =BxBx---xB 

pn f[xj,...,Xn) T, 

^ ^ -° [1.11] 

Los elementos de B" son configuraciones logicas de n variables. Para «=2, tenemos cuatro 
configuraciones {xj= 0,X2 = 0; Xj = 0,X2 = 1; Xj = 1,X2 = 0; Xj = 1, X2 = 1). En general, para n 
variables tendremos 2" configuraciones mutuamente exclusivas. Como para cada una de estas 

configuraciones la fiincion logica puede asignarle un "1" 6 un "0", tenemos 2^" fiinciones logicas 
posibles. 

De las distintas formas de representar estas fiinciones vamos a comentar las mas significativas 
desde el punto de vista electronico. 

1. Forma normal disyuntiva (suma de terminos minimos). 

2. Forma normal conjuntiva (producto de terminos maximos). 

3. Forma NAND. 

4. Forma NOR. 

Por sencillez en la presentacion y sin ninguna perdida de generalidad nos referiremos en todos 
los casos a fiinciones de dos variables {xj, x^. 

1.4.1. Forma Normal Disyuntiva 

La forma normal disyuntiva expresa una funcion logica como suma de productos. Cada 
producto contiene a todas las variables, negadas o sin negar, sin repetirse ninguna. A los productos se 
les llama terminos minimos ("minterms") porque ocupan areas minimas (intersecciones) en los 
diagramas de Venn y se corresponden con las filas de la tabla de verdad, que a su vez son las distintas 



33 



Electr6nica Digital 



configuraciones de valores posibles en las variables de entrada, interpretadas asociando al valor "0" la 
variable complementada y al valor "1" la variable sin complementar. Asi, la configuracion 1 se 

asocia al termino minimo xy X2 porque si hacemos at; = y x^ = 1 solo ese producto tendra el 
valor 1 (^/^2 =0-l = l-l = l). Todos los demas productos {x, X2 , x, x^ y Xj x^^ son cero para 
esos valores de las variables de entrada (xy = y X2 = 1). Sea cual fuere el valor de la configuracion 
de entrada, solo hay un termino minimo distinto de cero. Como estas configuraciones son mutuamente 
exclusivas, toda funcion logica puede expresarse como sutna logica de las configuraciones que la 
activan. Asi, para dos variables tenemos, 

fm{^l'^2)= f{0>0)xiX2 + f{0,i)xiX2 + f{l,0)xjX2 + f{l,l)xjX2 = 

_ _ 2"-l 

= aQX]X2 + ajxiX2 + a 2X1x2 + a^xiX2 = E <2/ w^- 

siendo «,- e {0,i} y w^ = x|'x| ^ i=\p,q) {p,q)&^,i\ 

con la notacion de Gilstrap {y^° =x,x' = x) 

Cada forma de representar una funcion logica sugiere su procedimiento de sintesis. Asi, en la 
forma normal disyuntiva que hemos visto aparecen productos de todas las variables (xj x^) y sus 

negadas (xj, X2) para formar los cuatro terminos minimos (niQ= x] x2 ,mj= x] X2 ,m2= xj x2 
y ffjj = Xy X2). Despues estos terminos minimos se tienen que multiplicar por los coeficientes 
(ag , aj , a2 , a^) que determinan si van a pertenecer o no a una funcion concreta. Finalmente, los 
nuevos productos (a, w, ) se suman logicamente. Si vamos construyendo el circuito que representa los 
procesos que hemos descrito tenemos la realizacion fisica de la expresion general de las funciones 
logicas de dos variables, tal como se ilustra en \a figura 1.16. Observese que esta es \ma funcion 
logica universal de forma que al variar los valores de los coeficientes { a,- } desde (0000) hasta (1111) 
vamos obteniendo las 1 6 funciones logicas de dos variables que se incluyen en la parte inferior de la 
figura. Vease tambien que el subindice decimal ( z ) de la funcion {f^ ) pasado a binario genera el valor 
de los coeficientes { a^ } que sintetizan la funcion. Asi,/y es la funcion AND porque 1 en binario es 
0001 (aQ = aj = a2 = , a^ = \) lo que supone que la funcion solo posee el termino minimo m^(l 1), 
o sea el correspondiente a Xy x^. Analogamente f^ es la funcion coincidencia que solo se 
activa cuando las dos entradas son iguales, porque el decimal 9 en binario es 1001, es decir aQ= I, 



34 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACION 



a] = a2 = 0, a^= I. Posee por consiguiente los terminos minimos mQ( xj X2)y Wj (xj Xj ). 
Entradas 




Uq aj aj a^ 
Coeficientes de Control 



Salida 



f(X]r>C2) 



XI 


X2 


nti 


at 


fo 


fl 


f2 


h "' f9 


'" fl4 


fl5 








mo 


ao 














1 


1 


1 





1 


mi 


aj 

















1 


1 


1 





m2 


ai 








1 


1 


■ 


1 


1 


1 


1 


ms 


a3 





1 





1 


1 





1 



Figura 1.16. Funcion universal para dos variables {xi, X2) en forma normal disyuntiva y valor de los 
coeficientes {ai) que la proyectan en cada una de las 16 funciones posibles para dos variables 



35 



Electr6nica Digital 



1.4.2. Forma Normal Conjuntiva 

En la forma normal disyuntiva que acabamos de ver, las funciones logicas se representan 
mediante una suma de productos, a los que llamabamos terminos minimos (minterms) porque al 
representarlos en diagrama de Venn daban lugar a areas minimas (intersecciones entre areas asociadas 
a variables o a sus negadas). Esta representacion era completa y quedaba caracterizada por un vector 
de coeficientes {a,} que nos decian cuales eran los terminos minimos, {w,}, que participaban en una 
determinada funcion. Es decir aquellos cuya presencia en la entrada de un circuito logico hacian que 
su salida fuera "1". Finalmente, los terminos minimos se asociaban a fllas de la tabla de verdad (a 
configuraciones de entrada mutuamente exclusivas) con la interpretacion siguiente: Un cero 
corresponde a una variable negada y un uno a una variable sin negar. Asi, (0 1) corresponde a. x] X2 , 
por ejemplo. 

Vamos a ver ahora una representacion dual, en la que cualquier funcion logica puede 
representarse como producto de sumas, a las que llamamos terminos maximos (maxterms) porque al 
representarlos en diagramas de Venn dan lugar a areas mdximas (uniones de las areas 
correspondientes a variables individuales o a sus negadas). Veremos que esta representacion tambien 
es completa y queda caracterizada por un vector de coeficientes, {At), que nos dicen cuales son los 
terminos maximos, {M,}que participan en una determinada funcion. Como ahora los coeficientes, Ai, 
entran sumando, son relevantes aquellos terminos maximos, M,, cuyo At correspondiente sea cero. La 
suma de cualquier termino logico con "1" es "1" y el producto de "1" por cualquier termino reproduce 
ese termino, de forma dual a como ocurria con los productos y sumas en la representacion por 
minterms. 

Veamos ahora como se construyen los maxterms a partir de las 2" filas de la tabla de verdad de 
una funcion de n variables logicas. Por razones pedagogicas y sin perdida de generalidad usaremos 
como ilustracion el caso de dos variables, (x/, X2). La tabla de la. figura 1.17 muestra las cuatro 
configuraciones posibles (00, 01, 10, 1 1), los maxterms asociados {Mq Mi M2 Ms) y los coeficientes 
que designan la presencia o ausencia de cada uno de esos maxterms en una funcion. 

Observese que cada maxterm representa a una linica fila de la tabla de verdad y una variable de 
entrada se complementa cuando su valor en la configuracion de salida es "1" y no se complementa 
cuando su valor en esa fila es "0". Asi, a (00) le corresponde el maxterm Mo= xj+X2, a (01) el 
Mj =xj+X2,a. (10) el M2 =X]+X2 y a (1 1) el Mj =xi+x2. 



36 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE Lft INFORMACION 



XI X2 


Maxterms 


Coeficientes 




1 

1 
1 1 


Xl+ X2 

X]+X2 
X]+X2 

XJ+X2 


Mo 
Ml 
M2 
Ms 



Figura 1.17. Tabla de verdad correspondiente a los terminos maximos (maxterms). 

De nuevo en la definicion de los maxterms vemos la dualidad con los minterms. Alii 
construiamos un minterm multiplicando las variables sin negar o negadas dependiendo que en la fila 
de la tabla de verdad apareciera un "1" 6 un "0" y deciamos que al evaluar la expresion del minterm 
correspondiente a cada fila con los valores de esa fila obteniamos un uno. 

Ahora, con los maxterms, al evaluar el valor de la expresion de un maxterm con los valores 
correspondientes a su fila, obtenemos un cero. Por ejemplo, el maxterm Mo= X]+X2 solo posee el 
valor cero si xj=0 y X2=0 . Analogamente, Mj = Xj +X2 solo sera cero si xj=0 y X2=l, y asi 
sucesivamente. 

Como las cuatro configuraciones logicas de la tabla son mutuamente exclusivas, sea cual fuere 
la configuracion de entrada solo habra un maxterm distinto de 1, de forma dual a como solo existia un 
minterm distinto de cero. 

Por consiguiente y como consecuencia de esta exclusividad mutua, toda fimcion logica puede 
expresarse como producto logico de maxterms. Llamando Ai a los coeficientes correspondientes a 
cadaAf,-, tenemos: 

fM{xi,X2) = {Ao+Mo){Aj+Mj){A2+M2){As+M3) [1.13] 

que es generalizable de forma inmediata para funciones de n variables y 2" maxterms. 



2"-l 
i=0 



[1.14] 
En esta representacion calculamos primero el OR de (^, Mt ) y despues el AND de esas sumas, 



37 



ElectrOnica Digital 



de forma dual a como haciamos en la representacion por minterms donde primero calculabamos el 
AND de ((2; ,w/ ) y despues el OR de esos productos. 

Alli, en minterms, solo nos quedaban los m,- cuyos coeficientes a, eran unos. Aqui, en 
maxterms, solo nos quedan los M,- cuyos coeficientes Ai son cero. Asi, el valor final de un producto de 
sumas solo sera cero si y solo si el valor de todos los maxterms que contiene es cero. De otra forma, 
su valor sera uno. 

Dado que el subindice usado para representar a los coeficientes es el decimal correspondiente a 
la expresion binaria de la configuracion correspondiente (Mq para 00, Mj para 01, etc.), podemos 
representar de forma mas compacta la funcion, usando solo los subindices de los maxterms que 
contiene. Asi, si tiene Mg, Mj y M^, la funcion sera 

fM(xl .x2)=Tl M(0,l,3) [1.15] 

siendo 0, 1 y 3 los decimales cuya representacion binaria corresponde a las filas de la tabla para las 
que la funcion es cero. 

Minterms y maxterms son dos representaciones altemativas (duales) de la tabla de verdad de 
una funcion logica. Ademas, para una misma funcion, una forma de representacion puede obtenerse 
de la otra por simples manipulaciones algebraicas usando los teoremas de DeMorgan, ya que cada 
maxterm (minterm) puede obtenerse complementando el minterm (maxterm) correspondiente. 



Asi, a mg = X] ■ X2 le corresponde ^o ~ ^o — ^i ' ^2 — Xj + X2 [1-16J 

Analogamente, 



M^ = AW, = x^ • x^ = x^ + x^ [1.17] 



M2 = tn2 = Xj ■ X2 = Xj + X2 [^18] 



M J -m^ = X, ■X2 = Xj + x^ [1-19] 

La tabla de \?l figura 1.18 resume las dos representaciones, por minterms y maxterms, para 
funciones de dos variables. 



38 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACI6N 



Formas Canonicas 


Xl 


X2 


Minterms 


Coeficientes 


Maxterms 


Coeficientes 








X, -x^ =mg 


ao 


Xj+x, = Mg= trig 


Ao 





1 


Xj -x^ = m, 


ai 


Xj + X2 = Mj = m, 


A, 


1 





Xj ■ x^ = m. 


a2 


X, +X2 = M2 = m2 


A2 


1 


1 


Xj -x^ - m^ 


as 


Xj +X2 = Mj = m^ 


Ai 


Funcion 


i 


F^=[[{A,+M,) 






a,=l si el mintemi esta presente 


A,=0 si el maxterm esta presente 






a,-=0 si no esta presente 


Af=\ si no esta presente 



Figura. 1.18. Minterms, maxterms, sus coeficientes y las formas canonicas correspondientes para fimciones de 
dos variables, (xj, X2) 



Ejercicio: Obtener la representacion por minterms y maxterms de las siguientes funciones de dos 
variables; 



a) 


Coincidencia 


b) 


Anticoincidencia (OR-exclusivo) 


c) 


NAND 


d) 
1 -•. 


NOR 



Escribamos la tabla de verdad para cada uno de los cases y en la representacion por minterms 
nos quedamos con los unos y en la de maxterms con los ceros. 

a) Lajigura 1.19 muestra la tabla de verdad para la coincidencia. En ella se han marcado las 
configuraciones correspondientes al resultado por minterms y por maxterms. 



39 



Electr6nica Digital 



XI 


X2 


Coincidencia 








1 





1 





1 








1 


1 


1 



Maxterms: YIm(I,2) 



— ►mintenns: ljm(0,3) 



Figura 1.19. Tabla de verdad para la coincidencia 

b), c) y d) La tabla de verdad para las funciones X-OR, NAND y NOR es la que se muestra en la 
figura 1.20 . Para representar estas funciones por minterms tomamos los terminos minimos que hacen 
1 la funcion y para representar por maxterms la misma funcion tomamos los terminos maximos que la 
hacen (ver la ultima fila de la tabla). 



XI X2 


X-OR 


NAND 


NOR 




1 

1 

1 1 



1 

1 



1 
1 
1 



1 





Representacion 
por 

minterms 
Maxterms 


i:m(l,2) 
IlM(0,3) 


^m(0.1,2) 
IlM(3) 


Y.m(0) 
UM(1,2,3) 



Figura 1.20. Representacion por minterms y por maxterms de las fimciones X-OR, NAND y NOR. 

Hay pues un procedimiento sencillo para pasar de una representacion por maxterms (minterms) 
a otra por minterms (maxterms) de la misma funcion: 

1. Me quedo con los numeros correspondientes a las configuraciones de entrada donde la funcion 
es uno. Asi obtengo la representacion por minterms de esa funcion. 



40 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACI6N 

2. Me quedo con la lista de los niimeros donde la funcion es cero. Asi obtengo se representacion 
por maxterms. 

3. Uso las expresiones correspondientes a ambas representaciones y compruebo, usando los 
teoremas y postulados de algebra de Boole, que ambas representaciones coinciden. Asi, para los 
cuatro ejemplos del ejercicio anterior tendriamos: 

Caso a) minterms (0 y 3) y maxterms (1,2): 

/^ = W(j + OTj = XI X2 + Xj X2 [1-20] 

f^ =Mi+M2=[xi+~x2){xi + X2) [1.21] 

desarrollando fj^^ , tenemos: 







[xj + X2)[xi + X2)= x/x] +XjX2 + X2 X] + x/x2 = XjX2 + X2 X] 
que es la misma expresion obtenida con minterms. 



fl.22J 



Ejercicio. Comprobar ahora que en los casos b, c y d tambien se trata de la misma funcion 
desarrollando la expresion por maxterms y simplificdndola. 

Solucion 

Caso b) /^ = X1X2 + Xj X2 [1-23] 

Im ~ W + X2)\xi + X2)- Xj XJ + xj X2 + X2 x] + X2X2 = Xj X2 + X2 X] [1-24] 

Casoc) f^ = XJX2 + x] X2 +xj X2 = xi\X2 + X2)+X2[xi + X])= XI +X2 [1-25] 

f^={x} + X2) [1.26] 

Caso A) f^=xiX2 [1.27] 



41 



ElectrOnica Digital 



/m =\Xj + X2){x] + X2){x] +X2)={xjX2+xix2)[x] +X2)=x1X2 [1.28] 



La expresion de cada maxterm, Mj, se obtiene de complementar la expresion del minterm de 
igual subindice. Es decir, 

Mj=mj y Mj^Mj para i = 0,l,...,2"~^ [1.29] 

lo que es facil de demostrar usando dos veces los teoremas de DeMorgan. Esto nos lleva a la relacion 
global entre las dos formas de representacion para una misma funcion,/- 



forma minterm de f = forma maxterm de f [1.30] 



forma maxterm de f = forma minterm de f [1.31] 

El que aparezca / en vez de/en estas expresiones es lo equivalente a lo que hicimos antes al 
quedamos con los ceros de/para obtener los maxterms. 



Ejercicios (I) Dadas las siguientes funciones de tres variables en representacion por minterms, 
obtener su representacion por maxterms 

a) f,n=Y.m(0,1.2,67) 

b) f,„=Y^m(2,3.4,5,6) 
Solucion 

a) La expresion en minterms de/ (/^), nos da los "1" de/ Busquemos entonces sus ceros que 
estaran en las lineas complementarias de la tabla de verdad, es decir en (3,4,5). Por consiguiente, 
podremos escribir directamente que la expresion maxterms de/es: 

fM^M^M^M^ fjS2] 

Tambien podriamos haber usado la expresion general [1.31] que nos dice que la forma 
maxterm de/ (f^), es el complemento de la forma minterm de /, (/^ ). Asi, el proceso a seguir es: 

1) Dado fm=Y, m(0,l,2,67 ) obtener la forma minterm de / fm=H m(,3,4,5) 



42 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACI6N 



2) Complementarla para obtener la forma maxterm, 



Im =fm = ^m(3,4,5)=m^ m^ wj = M^ M^ M^ 
b) fm=i:rn(2,3,4,5,6) 
1^ = ^.^(0,1.7) 



fu =fm = ^m(0,l, 7)=mQ mj my = Mq Mj My [J,33J 

Ejercicios (LI) Dadas las siguientes funciones /m en representacion por maxterms, obtener sus 
representaciones equivalentes usando minterms, f^. 

a) /m = ^2 ^3 M4 Ms M^ 

b) fM = ^0 ^1 ^2 ^6 ^7 
Solucion 

De forma dual a como razonamos en el ejercicio anterior, la expresion en maxterms de/ {[m), 
nos da los ceros de/ Busquemos entonces sus unos que estaran en las lineas complementarias de la 
tabla de verdad, es decir en (0, 1, 7). Por consiguiente, podemos escribir directamente que la 
expresion en minterm de/ (/J„), sera: 

fm=mo+mj+m7 [1.34] 

Tambien podriamos haber usado la expresion general [1.30] que nos dice que la forma minterm 
de/ (/^), es el complemento de la forma maxterm de / . Asi, los pasos a seguir son: 

1) Dado f^ = Y[M(2,3,4,5,6), obtener la forma maxterm de / , /^ = YlM(0,l,7) . 

2) Complementarla 



fm =fM = TlM(0, 1, 7) = Mq+ Mj+My = niQ +mj +my 
Analogamente razonariamos en el caso b): 



fm =fM = UM(3,4,5) =M^+M^+M^ = m^ +ot^ +wj [jjj] 

Conviene recordar que siempre que tengamos dudas sobre si nuestra conversion de minterms a 
maxterms o viceversa, es o no es correcta, podemos pasar a la representacion en terminos de las 



43 



Electr6nica Digital 



variables reales, xj, X2, X3, donde ambas representaciones deben coincidir, como vimos en las 
ecuaciones [1.20] a [1.28] del ejercicio anterior. 



1.5. Otras Representaciones Completas (NAND, NOR) 

Tanto en la suma de productos como en el producto de sumas, para sintetizar cualquier funcion 
solo necesitamos la realizacion electronica de tres operadores: AND, OR y NO. For eso decimos que 
estos tres operadores constituyen un conjunto completo. Existen, sin embargo otros conjuntos 
completos mas pequeiios y, por consiguiente, mas utiles a la hora de realizarlos fisicamente. Nos 
referimos a los circuitos NAND (AND seguido de inversor) y NOR (OR seguido de inversor). Con 
cualquiera de ellos se puede sintetizar cualquier funcion logica. Nos vamos acercando asi al objetivo 
de este tema que es definir las exigencias computacionales minimas del tratamiento digital de la 
informacion. Digamoslo ya avanzando conocimientos. El proposito de la Electronica Digital es 
obtener realizaciones fisicas en tecnologia bipolar o unipolar de conjuntos completos de operadores 
logicos. Con ellos podremos sintetizar cualquier funcion combinacional (de codificacion aritmetico- 
logica de ruta de datos) y con leves modificaciones, cualquier funcion secuencial. Razones 
adicionales sobre facilidad de fabricacion haran que sea ventajosa la representacion mediante un 
linico operador, NAND 6 NOR. Asi, todo lo que necesitamos es una suma o un producto seguidos de 
un inversor. 

Lafigura 1.21 incluye las tablas de verdad, los simbolos y las expresiones de los operadores 
NAND y NOR. Como muestra de su complitud se ilustra tambien en laflgura 1.22 la sintesis de los 
operadores del anterior conjunto completo (AND, OR y complemento) en terminos de solo operadores 
NAND y solo operadores NOR. 

De forma general, aplicando los teoremas de DeMorgan a la forma normal disyuntiva, podemos 
obtener las expresiones equivalentes en NAND y NOR. Veamos el caso NAND: 

/ = V a, • nil 

/ ' P.36J 

Si complementamos ahora dos veces obtenemos: 



44 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACION 




[1.37] 



NAND de (NAND de a,- y m^ 



NAND de a, y w,- 



Con lo que ya tenemos la expresion de/usando dos niveles de puertas NAND. En el primer 
nivel obtenemos el NAND de a, y mi. En un segundo nivel obtenemos el NAND de las expresiones 
anteriores. Si llamamos P, a la negacion de los productos a^m, (su NAND) podemos volver a escribir 
la expresion anterior de la forma: 



/=/= Z(ai mt) = IJc'gj mi)) = 11 Pi ={ao t mo) t (ay t mi) t. . .t (a2«-7 t m2".i) [1.38] 
i i "7" i 



NAND de P,- 



NAND(t) 



Xi 

X2 




Xj I X2 



Xl 


X2 t 1 








1 





1 


1 


1 





1 


1 


1 






X] T X2= X] X2+ Xj X2+ X] X2= 

= XI X2= XI + X2 



NOR ( i ) 




A 



Xj^ X2 



Xl 


X2 


i 








1 





1 





1 





1 


1 



X] -l X2= X] X2= X] + X2 



Figura 1.21. Definicion de los operadores NAND y NOR. 



45 



Electronica Digital 




Figura 1.22. Sintesis del conjunto completo (AND, OR, NOT), (a) Usando solo operadores NAND. (Z.) Usando 
solo operadores NOR. 

For ejemplo, para / = ^y + ^2 tendremos: 



/ = Xy + X2 = X/ ■ X2 



[1.39] 

donde xy es el NAND de xj consigo misma, x2 el NAND de X2 consigo misma y, fmalmente un 
nuevo NAND con los resultados anteriores. El circuito correspondiente es el que se ilustra en la 
figura 1.22. Analogamente obtendriamos el correspondiente al producto ^r^l. 

f = Xj-X2 [1.41] 



46 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACION 



f = XrX2 [1-42] 

Ahora que hemos visto de forma individual los distintos tipos de representacion es hora de 
comprobar con algunos ejemplos lo que hemos aprendido. 



Ejercicio: Representor con solo puertas NAND la siguiente funcion: 
A = XYZ + XYZ + X(Y + Z) 
Para el paso a NAND podemos usar el siguiente procedimiento general: 



1. Obtener una expresion minima en forma de suma de productos (este apartado 
lo veremos al comentar el objetivo 6). 

2. Complementar dos veces. Al complementar dos veces hemos dejado la funcion 
como estaba, por lo que siempre podremos hacerlo. 

3. Aplicar los teoremas de De Morgan. La aplicacion repetida de los Teoremas de 
De Morgan debe pararse cuando: 

a) Solo encontramos variables negadas {X ,Y) que se sintetizan con un 
inversor, el cual es un caso particular de una puerta NAND en la que se 
unen las dos entradas. 

b) Solo encontramos negaciones de productos ( X Y , X Y ,...). 



Solucion: 

De acuerdo con el procedimiento descrito, primero complementamos dos veces. Asi, 



A = A = XYZ + XYZ + x{^ + z)^XYZ + XYZ + XY + XZ [1.43] 

A continuacion aplicaremos los teoremas de DeMorgan, resultando: 



A = XYZ + XYZ + XY + XZ^XYZXYZXYXZ [1.44] 

Por ultimo, comprobaremos con la tabla de verdad que ambas representaciones [1.43] y [1.44] 
coinciden. 



47 



ElectrCnica Digital 



























X 


Y 


z 


XYZ 


XYZ 


x{y + z) 


A [1.43J 


XYZ 


XYZ 


XY 


XZ 


A [1.44] 


n 


n 























1 





n 





1 




















1 





n 


1 























1 








1 


1 




















1 





1 


n 











1 


1 











1 


I 


n 


1 




















1 





1 


1 





1 







1 


1 













1 


1 


1 


1 


1 


1 


1 


1 








1 


1 



Figura 1.23. Tabla de verdad para demostrar que las expresiones [1.4 3 J y [1.44J coinciden. 



Ejercicio: Pasar de NAND a NOR la siguientefuncion: 



A = f{X,Y,Z) = XYZ + XYZ 

Solucion 

Para el paso de NAND a NOR, tambien es facil comprobar el grado de comprension alcanzado 
usando el siguiente procedimiento general que describimos sobre un ejemplo: 

1. Partimos de una expresion que solo usa puertsa NAND, por ejemplo 



A = f{X,Y,Z)=XYZ + XYZ 

2. Aphcamos DeMorgan: A = X Y Z + X Y Z = (x + Y + z){x + Y + z) 

3. Dibujamos el circuito correspondiente en la logica de dos niveles (OR-AND) 



[1.45] 
[1.46] 




Figura 1.24. Implementacion de la fimcion A con inversores y puertas AND y OR 



48 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACI6N 

4. Negamos dos veces y aplicamos de nuevo DeMorgan para obtener la representacion con solo 
puertas NOR 



A^(X+Y+Z)(X+Y + Z)^(X+Y + Z) + (X + Y + Z) 
5. Representamos el circuito correspondiente: 



[1.47] 




Figura 1.25. Implementacion de la fiincion A con solo puertas NOR 

6. Usamos el simulador para comprobar que ambos circuitos se comportan igual 

Dado que en la version reducida y de uso libre del simulador PSpice no contamos con puertas 
OR de 3 entradas hemos usado las de 2 entradas, realizando las funciones OR de tres variable en dos 
etapas. En una primera etapa hacemos la funcion OR de dos variables y en la siguiente etapa hacemos 
la funcion OR de la tercera variable con el resultado de la primera etapa. 




Figura 1.26. Implementacion de la funcion A con el simulador PSpice. 



49 



Electr6nica Digital 



X:1 

V:1 

Z:1 

Salidal 

Salida2 



Os 



2.0US t.Ous 

Time 



6.0US 



Figura 1.27 Resultado de la simulacion y comprobacion de la validez de ambos disenos. 

Como puede observarse en el cronograma las dos salidas coinciden para las ocho 
configuraciones de entrada. 

Una forma mas sencilla y rapida de conseguir la transformacion, en los casos en los que 
disponemos del circuito en su representacion OR-AND, es emplear un metodo grafico, consistente en 
negar las salidas de las puertas del primer nivel y las entradas de las puertas del segundo nivel. Con 
esta doble negacion, que no altera lo mas minimo la funcion del circuito, se convierten las puertas 
AND (OR) del primer nivel en puertas NAND (NOR) y las puertas OR (AND) del segundo nivel en 
puertas OR (AND) con las entradas negadas, o lo que es lo mismo en puertas NAND (NOR) con las 
entradas sin negar (figura 1.28). Estos cambios, no son mas que el resultado de la aplicacion directa 
de la representacion grafica de los teoremas de DeMorgan. 

Este metodo es igualmente valido para obtener la representacion solo con puertas NAND 
partiendo del esquema del circuito representado con la logica de dos niveles AND-OR (suma de 
minterms), como para obtener la representacion solo con puertas NOR a partir del esquema del 
circuito representado con la logica de dos niveles OR-AND (producto de maxterms) 



50 



TEMA 1 ; EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACI6N 




Figura 1.28. Implementacion de los teoremas de DeMorgan 



Ejercicio: Aplicar el metodo grafico descrito anteriormente al circuito del ejercicio anterior: 

Solucion 

La figura 1.29 muestra los pasos sucesivos para pasar un circuito implementado con inversores, 
puertas OR y AND a su implementacion con solo puertas NOR. Para ello, primero hemos aplicado el 
metodo grafico para el paso de OR-AND a solo NOR y despues hemos sustituido los inversores por 
puertas NOR con las entradas unidas. 



A K 

X O • 


- r-^ 


yo — i 

Zo \o 


P^ 




Figura 1.29. Ilustracion del metodo grafico. 



51 



Electr6nica Digital 



1.6. ANALISIS Y SiNTESIS 

Vamos a ver de forma sencilla y a traves de ejemplos en que consisten los procesos de andlisis 
y sintesis de circuitos logicos. 



Analizar un circuito logico es encontrar lafuncion logica que calcula, a partir 
del esquema de conexion de las variables de entrada con los distintos operadores 
hasta llegar a la variable de salida. 



La variable o variables dependientes (la funcion) se encuentra a la salida de la ultima puerta y, 
por consiguiente, para obtener la expresion logica que la conecta con las entradas basta seguir el 
cammo de las variables de entrada hasta llegar a la salida y comprobar por induccion completa que 
ambos (circuito y expresion logica) coinciden porque poseen la misma tabla de verdad. Los problemas 
E.1.1 y E.1.2 resueltos en el texto de problemas son representativos de este procedimiento. 

Aqui, en el primer tema dedicado a los circuitos logicos combinacionales de pocas variables, el 
problema de analisis es realmente sencillo. Veremos mas adelante, al estudiar circuitos secuenciales, 
como no es tan sencillo "descubrir" la funcion global que realizan a partir de las conexiones entre sus 
componentes. La clave esta en el concepto de "estado" y en la existencia de lazos de realimentacion. 
Aprovechemonos de momento de la sencillez del analisis en logica combinacional, obteniendo la 
funcion logica que realizan los circuitos de los dos ejercicios siguientes en los que hemos ido 
seiialando las distintas transformaciones que sufren las variables de entrada, A,ByC hasta llegar a las 
funciones Fj, F2 y F3. 



Ejercicio: Analizar el circuito de la figura corresponde a una funcion multiple (Fj, F2) de dos 
variables (A y B). 



Solucion: 



La forma de analizar un circuito es seguir el camino de la sefial desde las entradas, AyB, hasta 
las salidas, Fj y F2, anotando las transformaciones que introducen los operadores que se encuentran 
en el camino. 



52 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACI6N 




Fi= AB AB 



o Fr=AB 



Figura 1.30. 



Ejercicio: Repetir el procedimiento de andlisis para el circuito de la figura 1.31. 
Solucion: 



A 
B 
C 



Figura 1.31. 



BC 



O^^Oi 




AB 



ABC 




F3=ABC ABC ABC ABC 



CAB 



53 



Electr6nica Digital 



Las dos fases esenciales en todo proceso de sintesis son: 



Fase a: Paso de una descripcion en lenguaje natural a unafuncion logica. 
Fase b: Paso de unafuncion logica a su circuito correspondiente. 



Veamos ahora algunos ejemplos de ambas fases. 



Ejercicio: Obtener una descripcion logica, incluyendo la seleccion de variables de entrada y 
salida, de un circuito con dos entradas y dos salidas tal que la primera salida este en 
aha cuando el valor en las dos entradas es el mismo y la segunda salida estd en alta 
cuando no coinciden las entradas. Obtener tambien el circuito que implementa dichas 
funciones 

Solucion: 

Fase a : Paso de una descripcion en lenguaje natural a unafuncion logica. 

1. Empezamos asignando dos variables (^ F) a las entradas y otras dos {A,E) a las salidas. 




2. 



Construimos una tabla de verdad en la que describimos las cuatro configuraciones logicas 
posibles en la entrada y ponemos un uno en los terminos minimos que hacen pasar A a alta y en 
otra columna, los que hacen pasar B a alta. 



X 


Y 


A 


B 








1 








1 





1 


1 








1 


1 


1 


1 






Figura 1.32. Tabla de verdad 



54 



TeMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACI6N 



Si hacemos la sintesis usando los terminos minimos tomamos las configuraciones de entrada 
que hacen que la salida sea 1. Asi, para la funci6nv4, tenemos: 

A^XY + XY [1.48] 

Analogamente para la salida obtenemos: B = X Y + XY [^-49] 

Es decir, la funcion A es la coincidencia y la 5 la anticoincidencia 6 OR exclusive. 

Asi, 



A = X®Y y B = X®Y 
Fasejb: Paso de una funcion logica a su circuito correspondiente. 



[1.50] 



X- 



t>v- 



^ 



l> 



B 



Figura 1.33. 

Como puede observarse esta no es la vinica forma de implementar estas funciones. En este caso 
hemos hecho el circuito para la funcion A y despues, negando la salida, hemos obtenido la funcion B. 
De igual forma, es correcta la implementacion si hacemos el circuito que implementa la funcion B y 
despues complementando su salida obtenemos la funcion ^4. Asi: 



Puerta XOR 



X- 






B 




Figura 1.34. 



55 



Electronica Digital 



Ejercicio: Disenar y minimizar un circuito logico de tres variables de entrada y tres de salida de 
forma que responda a cada una de las siguientes condiciones: 

a) Dos o mas de las entradas esten en alta a la vez. 

b) El decimal equivalente al numero binario que representan las tres entradas sea impar 
(1, 3,5 6 7). 

c) El decimal equivalente al numero binario que representan las tres entradas sea par (0, 
2,4 6 6). 

Solucion: 

Fase a: Paso de una descripci6n en lenguaje natural a unafuncion logica. 

1. Empezamos asignando tres variables (^ 7, Z) a las entradas y otras tres {A, B, C) a las salidas. 




Construimos la tabla de verdad. Para ello en la primera columna ponemos los numeros 
decimales de a 7, ya que con tres variables podremos representar 2^ = 8 configuraciones de 
entrada. Las tres columnas siguientes son las entradas y las siguientes columnas son las tres 
salidas que nos piden en el problema y que se corresponden con las soluciones a los apartados 
a,byc del enunciado. Asi, la tabla de verdad es: 



N" 
Decimal 


X Y Z 


Dos o mas entradas 

en Alta 

A 


N" decimal impar 
B 


N" decimal par 
C 














1 


1 


1 





1 





2 


1 








1 


3 


1 1 


1 


I 





4 


1 








1 


5 


1 1 


1 


1 





6 


1 1 


I 





1 


7 


1 1 1 


1 


1 


" 



Figura 1.35. 



56 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACI6N 

Ahora vemos cuales son las configuraciones de entrada que producen un 1 en las distintas 
salidas. Es decir, vemos que terminos minimos participan en la produccion de cada salida. Asi, 

A^XYZ + XYZ + XYZ + XYZ [1.51] 

B^XYZ + XYZ + XYZ + XYZ [1.52] 

C^XYZ + XYZ + XYZ + XYZ [1.53] 

Aunque veremos mas adelante la minimizacion por mapas de Karnaugh dentro del Objetivo 6, 
aqui utilizaremos la aplicacion directa de los teoremas y postulados del Algebra de Boole para 
simplificar estos sencillos ejemplos de sintesis. 



A = XYZ + XYZ + XYZ + XYZ = YZ{x + x] + XYiz + z) + XZ{Y+Y) = YZ + XY + XZ 



I 
— [" 



[1.54] 
Analogamente: 

B = 1(YZ + !( Y Z + XYZ + XYZ = YZ[X + lc)+Yz(x + lc)=YZ + YZ = z{y + y)= Z 
C ^XYZ + XYZ + XYZ + XYZ = YZ(X + x)+Yz(x + x)=YZ + YZ = z(y + y)=Z 

En estos dos ultimos cases podemos llegar a la solucion por simple inspeccion de la tabla de 
verdad, ya que si comparamos la columna B con las de las variables de entrada observamos que 
coincide con la columna correspondiente a la entrada Z. Por tanto B=Z. Analogamente los valores de 
la salida C coincide con los valores complementados de la columna corrrespondiente a la entrada Z. 
Por tanto B = Z . Sin embargo esto no suele ocurrir en la mayoria de los casos por lo que en general 
hay que seguir los pasos de alguno de los procedimientos de minimizacion. 

Fase b: Implementacion. Paso de unafuncion logica a su circuito correspondiente. 

En esta fase, evidentemente, podemos usar cualquiera de las formas completas (AND, OR, 
NOT: solo NAND o solo NOR) que ya conocemos. Asi, en el primer caso obtendriamos un circuito 
como el que se ilustra en ]a.figura 1.36. 



57 



Electr6nica Digital 



X- 
Y- 



XY 



xz 




YZ 




A=XY-irXZ+YZ 



B=Z 



c=z 



Figura 1.36. 



1 .7 INTRODUCCION A LA MiNIMIZACION 



Minimizar una funcion logica es obtener la expresion mas simplificada posible 
para la misma de forma que el numero de operadores necesarios para su sintesis es 
tambien minimo. 



Un tratamiento adecuado de este problema queda fuera del alcance de este tema de introduccion 
a la electronica digital, por lo que solo presentaremos los conceptos minimos necesarios para 
comprender los procedimientos de sintesis de las funciones combinacionales y secuenciales que 
estudiaremos mas adelante. 

Si pensamos en terminos de suma de productos parece intuitive afirmar que una funcion esta en 
su forma minima cuando es minimo el numero de productos y, a igualdad de productos, cuando es 
minimo el numero de variables. Desde un punto de vista algebraico y para pocas variables, el uso 
directo de algunos postulados y teoremas del algebra de Boole es suficiente para conseguir la 
minimizacion. Por ejemplo, 



x; X2 + xj X2 = X] \x2 + X2J= X] 
X] + X] X2 = xj \X2 + 1) = xj 



[1.55] 
[1.56] 



58 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACION 

Cada termino minimo posee dos vecinos de los que solo le diferencia el estado de una variable 
que en un caso esta complementada y en otro sin complementar de forma que si aparecen juntos en 
una expresion se puede sacar factor comun y eliminar la variable que cambia. Los cuatro terminos 

minimos para dos variables son xi x2, xj X2, xj x2, xj X2 . Asi, para el primer termino, x} x2 
tenemos dos vecinos: x] X2 (cambia solo X2), y xj X2 (cambia solo Xj), con lo que podriamos 
obtener las siguientes simplificaciones: 

x] X2 + X] X2 ^x][x2 +X2 )= X] [1571 

X] X2 +xj X2 = X2 [x] +X] )= X2 [158] 

Analogamente, los vecinos de x 1x2 son (xj x2 y xi X2) y los de xj X2 son (xj X2 y 
X] X2 ). Finalmente, los vecinos de x] X2 son (x] X2 y xj X2 ). 

Los teoremas mas adecuados para la minimizacion son el de la adyacencia y el de 
idempotencia. 

El de la adyacencia debido a que, siempre que se puede sacar factor comiin una variable (o el 
producto de varias) de la suma de otro termino con su negado, ambos terminos quedan reducido a la 
parte comiin. Es decir, los terminos solo se diferencian en un bit. 

El de la idempotencia porque en muchas ocasiones se usa un mismo termino con dos o mas 
adyacentes para aplicar el teorema de la adyacencia. 

Para pasar de XYZ + XYZ a XY se aplica el teorema de la adyacencia, ya que 

JCYZ + ~XYZ = Jcy[z + Z)=1(Y y Z +Z = 1 [1.59] 

Como podemos observar estos dos terminos solo se diferencian en la variable Z, que toma un 
valor y su complementario. 

Veamos ahora si lo hemos comprendido intentando resolver los siguientes ejercicios: 

Ejercicio: Minimizar algebraicamente las siguientes funciones: 
a) f = AB+c[AB + c) 



59 



ElectrOnica Digital 



b) f = ABC+ABC + ABC + ABC 
S o lucid n: 

a) f = AB +c(aB + c)=AB + CAB + CC = AB{C + 1) = AB 

0/^ 1^ 



[1.60] 



b) f = ABC+ABC + ABC + ABC 



[1.6] J 



A B C +AB C + AB C + A B C = A c{b + b)+ AC (b + b)= A C + AC = C (a + a)=C 



[1.62] 



A veces es conveniente expandir primero una funcion para minimizarla despues. En general, 
esta estrategia es recomendable cuando no es evidente que podamos conseguir una simplificacion por 
aplicacion directa de los teoremas de adyacencia. Por ejemplo, 



f = XY+XYZ + XY + XYZ 



[1.63] 



Introducimos la variable Z que falta en el primer y tercer termino multiplicando por 1 . Es decir, 
multiplicamos ambos terminos por: Z + Z =^ 1 



f = Xy(z + Z)+XYZ + Xy(z + z)+XYZ = XYZ + XYZ + XYZ + XYZ + XYZ + XYZ 



[1.64] 



Ahora agrupamos los terminos que solo se diferencian en una variable y aplicamos el teorema 
de Adyacencia 

f = XYZ+ XYZ+ XYZ+ XYZ+ XYZ+ XYZ=XY+YZ+XY+YZ 

' ^ ft t t 



[1.65] 



Aplicando de nuevo el teorema de adyacencia 
f=XY+YZ + XY+YZ^XY+ XY+Z 



[1.66] 



60 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACI6N 

Cuando aumenta el numero de variables es dificil identificar estos pares de terminos y de aqui 

nace el metodo de Veitch-Karnaugh (V-K) para minimizar funciones. Se trata en esencia de un 

metodo grafico que distribuye sobre distintas areas contiguas los terminos minimos de forma tal que 

los pares simplificables siempre son vecinos y el proceso de simplificacion se puede realizar por 
simple inspeccion visual. 

La figura 1.37 muestra los diagramas V-K para una, dos y tres variables. Para una variable el 
rectangulo posee dos areas, una para x = y otra para x = 1 . Para dos variables es un cuadrado 
con cuatro areas, una para cada configuracion (00, 01, 10, 11). Para tres variables es un rectangulo 
con ocho areas (desde 000, hasta 111). Observese que en todos los casos la diferencia entre dos 
cuadros consecutivos es solo en una variable. Para el caso de 3 variables es necesario considerar al 
diagrama como una superficie cilindrica de forma que sus extremes derecho e izquierdo estan unidos. 
Una vez que conocemos el significado de cada rectangulo, dejemoslo vacio y pongamos solo "1" en 
las areas que corresponden a los terminos minimos que posee una funcion especifica. 



(a) 



m. 



m. 



V^ 1 





1 
(b) 



00 


01 


m^ 


m^ 


10 


11 


m^ 


'"i 



3L 



J2X3 



XI 



(c) 



00 






01 



11 



10 



000 


001 


Oil 

^3 


010 


100 


101 


111 

^7 


110 



Figura 1.37. Simplificacion de funciones usando diagramas de Kamaugh. Ver descripcion en el texto. 

La. figura 1.38 muestra varios ejemplo. La presencia de "1" (existencia del minterm) en cuadros 
adyacentes nos indica la existencia de variables redundantes que agrupamos en miiltiplos de 2". 
Con n = 0, 2^ = 1, no eliminamos ninguna variable. Con n = 1, 2^ = 2, unimos dos celdas y 
eliminamos una variable. Con n = 2, 2^ = 4, unimos cuatro celdas y eliminamos dos variables. 
Recuerdese ademas que una misma celda podemos usarla tantas veces como queramos (x + x = x). 



61 



Electr6nica Digital 




sX2X3 

xr 



1 



00 01 11 



10 






m 




3 




2 




4 


r 






^^^^1 


^^^7^5 



^2X3 
XI 


1 



00 


01 


11 






10 













2 


■■Bf;! 




1 




i 




4 


'. 







" 6 



(a) 



f=X2 XS+ X] 



(b) 



f=xjX2+ X]X2 



(c) 



f=xixj+ XJX2XS 



Figura 1.38. Ejemplos e minimizacion por diagramas de V-K. 



En la figura 1.38. a, minimizamos la funcion / = S( mg, m^, wj, m^, my ). Como podemos 
observar agrupamos por una parte los elementos vecinos mg y rn4 obteniendo la expresion X2 X3 y 
por otra parte agrupamos m^, mj, m^,mj que dan lugar a xy. Asi la funcion minimizada es: 

/= Z( Mq, m^, wj, OT(5, m-j). = X] + X2 X3 1^-67] 

No siempre se podra realizar una simplificacion tan fuerte. La figura 1.38.b muestra los 
ejemplos correspondiente a la funcion/ = I( rriQ mj m^ ,mj ). En este caso agrupamos por una parte 
{niQ y nij) que da lugar a xj X2 y por otra {m^ y rrij) que proporciona Xj X2 ■ Quedando la funcion ya 
minimizada como: 



/= I,(mQ,m2 ,m^,mj).= x] X2 + xj X2 



[1.68] 



Podemos comprobar que el resultado es el mismo que el que se obtiene de la aplicacion directa 
de los postulados y teoremas. Asi, 



mg +mi = XJX2X3 + x]X2X^ = X]X2 
my +m^ - X]X2X^ + xjX2X2 = X]X2 



[1.69] 
[1.70] 



Analogamente, para el caso de \a figura 1.38.C, la funcion a minimizar es/= E( mj ,otj ,m^ ). 
En este caso solo podemos agrupar mj y m^. E\ otro termino minimo (m^j) no se puede agrupar y 
queda como esta. Por tanto la funcion resultante es: 



62 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACI6N 



/ = X] X^ + XJX2X3 



[1.7] J 



Hay una serie de consejos parecidos a un procedimiento general de minimizar usando los mapas 
que dan buenos resultados en muchos casos. Son los siguientes: 



1. Agrupar las areas que contengan "1 " y que sean adyacentes. 

2. Recordar que son areas de forma cuadrada o rectangular. Es decir han de ser 2, 4, 
8, ... 2" el numero de "1" adyacentes que se agrupan. 

3. El mapa se puede considerar como una esfera. Es decir, el vecino del ultimo por la 
derecha es el primero por la izquierda (de la misma fila), el vecino del ultimo por 
debajo es el primero por arriba (de la misma columna). Asi, las cuatro esquinas 
"estan juntas" y por tanto pueden formar una misma area. 



\yz 


YZ 


YZ 


YZ 


YZ 

J] 


a: \ 


00 


01 


11 


10 


Xz^O 





1 


3 


2 


z=>i 


4 


5 


7 


6 




Una vez formados los agrupamientos minimizarlos uno a uno usando adyacencia y 
absorcion y sumar los resultados obtenidos. 

Recordar que a veces es mejor usar los "0" (terminos que no estan contenidos en la 
funcion) en vez de los "1" (terminos que si los contiene). Esto se suele hacer cuando 
el numero de "1" es pequeiio mientras que el de "0" es grande. Si se minimiza 
agrupando ceros, recordar que en este caso hay que complementar el resultado. 



Figura 1.39. 



63 



Electr6nica Digital 



Veamos ahora algunos ejemplos. 



Ejercicio: Minimizar por Karnaugh las siguientes funciones de tres variables: 

a) / = xrz + x7z + xrz + Zrz + ^rz = X'^ (0,1,2,37) 

b) f = ~XYZ + lCY^ + l(YZ + XYZ + XYZ=Y. m{0 ,2 ,3 .4 ,?) 

c) f = 'XYZ + ^Y Z + !( Y~Z + lc Y Z + XYZ + X YZ = Y.m(0,l,2,3,4,6 ) 

d) f = 1(YZ + 1(YZ + XY Z + XYZ=Y.m{0,3,5,6) 
Solucion: 

a) f ^1(YZ + ~XY Z + J( Y^ + Y Y Z + X Y Z = Y^m (0,1,2,3,7) 



[1.72] 



X \ 


YZ 

U 

00 


rz 

01 


rz 

U 
11 


rz 

u 

10 


X =>0 










1 


1 




1 





\ 


i' 3 


2 


X ^ 1 




4 


". 






6 



/ = X + 7Z 



Figura 1.40. Minimizacion por diagramas de V-K de la fancion f=Sm (0,1, 2, 3, 7). 

En este caso, al ser el numero de "0" menor que el de "1" podiamos haber minimizado la 
funcion/agrupando los "0" en vez de los "1". Sin embargo el resultado es el mismo como veremos a 
continuacion. Si agrupamos los "0", quiere decir que vamos a trabajar con el complementario de la 

funcion/ por tanto lo linico que tenemos que tener en cuenta es que la funcion que obtenemos es / . 



64 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACI6N 



Asi, 




Figura 1.41. Minimizacion por diagramas de V-K de la f[mci6nf=^Sm(4,5,6). 

Si ahora complementamos el resultado para obtener la funcion/y aplicamos los Teoremas de 
DeMorgan, vemos que la expresion que se obtiene es la misma que obtuvimos cuando minimizamos 
agrupando los "1". 



Enefecto; f = X Z +XY = x[z + y)= X +[z + y)= X +Y Z 
b) f = XYZ + X YZ + XY Z + XYZ + XY Z=J^m{0,2,3,4.7) 



[1.73] 
[1.74] 



\^ YZ 
X \ 


YZ 

II 
00 


YZ 

01 


YZ 

11 
11 


YZ 

II 
10 


^ => 




.1 







1 


1 
1 

1 


2TS 

1 




"~'T\ 


. - 


3 


2 


x=> 1 






4 




5 


^ 


1 


/ 


/ 

6 



f = YZ+YZ + XY 



Figura 1.42. Minimizacion por diagramas de V-K de la f[mci6nf=Xm(0,2,3,4, 7). 



(^a 



Electr6nica Digital 



c) f = XYZ + XYZ + XYZ + XYZ + XYZ + XYZ = Y.m(0,l,2,3,4,6) 



[1.75] 



En esta funcion, dado que el numero de "0" es menor que el de "1" la minimizamos tomando 
los ceros. Asi, obtenemos: 



\ YZ 
X \ 


YZ 

u 

00 


YZ 

u 

01 


YZ 

11 


YZ 

u 

10 


^ => 


1 




1 

1 


1 

3 


1 

2 


X ^ 1 


1 

4 








1 

6 


5 


\ ^ 



f = XZ 



Figura 1.43. Minimizacion por diagramas de V-K de la funcion. f=Sm(0, 1,2,3,4,6) 

Ahora para obtener la expresion de la funcion / minimizada deberemos complementar el 
resultado. Es decir, 

f = Yz = X + Z [1.76] 

Es facil comprobar que el resultado es el mismo que si hubieramos operado sobre los " 1 " 

d) f ^JIyZ + XYZ + XY Z + XYZ^Y.m{0,3,5,6) [1.77] 



\ YZ 
X \ 


YZ 

U 

00 


YZ 

u 

01 


YZ 

11 


YZ 

u 

10 


'X ^0 


1 






1 


1 

3 




2 


X=> 1 




4 


1 

5 




7 


^1 



Figura 1.44. Diagrama V-K de la funci6nf=Zm(0, 3,5,6). 



66 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACIPN 

En esta funcion vemos que no podemos agrupar sus terminos para formar areas mayores que 
cubran dos o mas terminos minimos, esto es debido a que la funcion ya es minima y no se puede 
simplificar mas. 

Ejercicio: Minimizar por Karnaugh las siguientes funciones de cuatro variables: 

a) f = Y,m{0,2,3,4.5,6,7,8,12) 

b) f = Y.m{0,2, 4,8,10,12) 

c) / = Y.m{l,3,6,9,13,14,15)+Y^d{8,ll,12) 
Solucion: 

a) f = Y^m{0,2,3,4,5,6,7,8,12) [1.78] 



\^^ YZ 
WX \ 


YZ 

00 


YZ 

01 


YZ 

u 

11 


YZ 

10 


WX ^OQ 


B» 




1 






LL. 


■ 


^^^^^^V 


WX ^ 01 


[■•f 












1 


bHi£i 




^';;^^| 


4 




5 


\mm^^Y 




WX ^ 11 


1 


12 





13 




15, 


14 


wH ^ 10 


"-- 


8 





9 


"/ 




10 






X 


, / 








f = YZ+WX + WY 





Figura 1.45. Minimizacion mediante diagrama de V-K de la funcion de cuatro variables /=2)n (19, 2, 5,-/, 5, 5, 7,8). 
b) f=Y.m{0,2,4,8,10,12) [1.79] 



67 



Electr6nica Digital 




Figura 1.46 Minimizacion mediante diagrama de V-K de la fanci6nf=Zm(0,2,4,8, 1 0, 1 2). 

En este caso es mas facil si se resuelve agrupando los ceros, como podemos observar en la 
figura 1.47. El motivo de haberlo resuelto agrupando los "1" ha sido para poner de manifiesto el 
hecho de que las cuatro esquinas son tambien terminos minimos vecinos y por tanto los podemos 
agrupar. 



\. YZ 

WX \ 


YZ 
00 


YZ 

01 


YZ 

11 


YZ 

u 

10 


?r7=>oo 


1 


D 






4',i I ■ 3 


1 

2 


WX z:>()\ 


1 


4 




■?ii 


./T 






7 


, 6 


WX ^ 11 


1 

12 




'9''.'-'. 


?.« 


oj 


-f'-i^*i 


f.- ^7': 


15 


14 


wH ^ 10 


1 


8 




\J-'' 


' o) 




1 

10 




9 


/ 


11 






1 / 








f = Z+XY 







Figura 1.47. Minimizacion de la {anci6nf=Xm(0,2,4,8, 1 0, 1 2) agrupando los ceros. 



68 



TeMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMiENTO DIGITAL DE LA INFORMACION 



c) f^Ym{l,3,6,9,13.14.15yYd{8,ll,12) 



[1.89] 



Los terminos minimos 8, 11 y 12 son terminos que son indiferentes, es decir que no son 
importantes para la funcion y que por tanto pueden tomar el valor 6 el valor 1. Estos terminos 
minimos los seiialamos en la tabla como d, y los agruparemos con los "1" (o con los "0") siempre que 
nos ayuden a obtener areas mayores, pero entendiendo que ningun area podra estar formada solo por 
terminos de este tipo. Asi, 




WX => 00 



WX ^ 01 



WX z^ 11 



WX => 10 



12 



d\ 



13 



15 



11, 



\\. \ 6 

TwJ--' 



; 



10 



vO/ 



/ = WX+XZ + XYZ 



Figura 1.48. Minimizacion de la funci6nf=I,m(l,3,6,9,13,14,15)+I,d(8,l},}2). 



No queremos terminar este apartado sobre minimizacion sin hacer algunos comentarios. 
Primero, es conveniente recordar que aunque el problema de la minimizacion se ha presentado aqui de 
forma aparentemente sencilla, cuando aumenta el mimero de variables la complejidad es tal que solo 
es abordable con la ayuda del computador y con un software especifico que hace computacional un 
conjunto de procedimientos complejos. Por otro lado, la evolucion de la tecnologia mtegrada hace que 
el problema de la minimizacion se plantee en otros terminos tales como mimero maximo de termmales 
en un circuito, consumo, velocidad de conmutacion, caracter repetitivo del diseiio y posibilidad de 
soluciones programadas. 



69 



ElectrOnica Digital 



1.8. Problemas 



(*) 



E.1.1. Obtener las expresiones logicas que describen las relaciones entre las variables de entrada 
X,YyZy las variables de salida Ay B en el circuit o de lafigura. 



A=fj(X,Y,Z) 




B=f2(X,Y,Z) 



E.1.2. Analizar el circuito de la figura y pasarlo a su equivalente enpuertas NAND. 

X Y Z 




E.1.3. 
E.1.4. 



A=f(X, Y, Z) 



Pasar a puertas NOR el circuito del ejercicio anterior. 

Sintetizar a) usando AND, OR y Negacion, b) solo puertas NAND, c)s6lo puertas NOR, el 
circuito correspondiente a las siguientes funciones logicas: 



A = fiixYz) = (xy + xy)z + z(xy + xy) 

B = f2{XY,Z)^X + YZ + ZX 



(•) 



*' La solucion de estos ejercicios se encuentra en el texto de problemas. 



70 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACI6N 

E,1.5. Representar en forma canonica de terminos minimos las funciones f,yf2 del ejercicio 
anterior. Cambiar la representacion a maxterms y explicar los aspectos puntuales del 
principio de dualidad sobre ambos ejemplos. 

E.1.6. Minimizar por aplicacion reiterativa de los teoremas de DeMorgan y del teorema de 
adyacencia las siguientes funciones: 

A = fj{X,Y,Z)^ XY + YZ + XYZ + XY Z ■¥ XY Z 

B = f2{X.YZ) = (x + Y + z)+(x + Y + z)+XY Z + XYZ 

Demostrar por induccion completa y por diagramas que las expresiones simplificadas son 
realmente equivalentes a las expresiones iniciales. 

E.1.7 Usar los diagramas de Karnaugh para simplificar las siguientes funciones 
A = fi{x,Y)=^XY + XY + XY 
B = f2{X,Y,Z) = XYZ + (^ + z)x + Y 



^^^^ 



71 



Electr6nica Digital 



Preparacion de la Evaluacion 



A lo largo del tenia hemos ido incluyendo distintos ejercicios para ayudar al lector a 
comprender los conceptos expuestos y, a la vez, para ayudarle a preparar sus pruebas de evaluacion 
de forma que los contenidos de estas pruebas no van a ser, en general, muy diferentes de los 
ejercicios que aqui se presentan. 

Par otro lado hemos incluido una relacion de problemas procedentes de la anterior edicion de 
este texto cuyas soluciones se encuentran en un texto complementario. 

Aim a costa de ser redundantes, terminamos el tema con este apartado de conocimiento 
tutorial que incluye nuevos ejercicios andlogos a los resueltos previamente junto con algunas 
reflexiones de cardcter conceptual resultado de la experiencia docente y que pretenden "adivinar " y 
ayudar a resolver las dudas potenciales del lector. Estamos profundamente convencidos de que en la 
ensenanza a distancia la evaluacion del alumno empieza con la preparacion del material diddctico, 
porque en la estructura de ese material debe estar subyacente la prueba de evaluacion, dejando claro 
que es lo que queremos que sepa el alumno. 

Recordemos que hemos descompuesto el contenido de este tema en 6 objetivos. For 
consiguiente, la ayuda a la evaluacion tambien la vamos a descomponer de acuerdo con esos 
objetivos. 



Objetivos 



1 : Analogico versus Digital 

2: Postulados y Teoremas 

3: Representacion 

4: Andlisis 

5: Sintesis 

6: Minimizacion 



Para cada uno de estos objetivos se proponen una o mas cuestiones teoricas y algunos 



72 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INF0RMACI6N 



ejercicios cuyas soluciones se pueden obtener por analogia con las soluciones a otros problemas 
andlogos intercalados en la teoria o en el texto base de problemas. 

1. Analogico versus Digital 

1.1. ^Entiende la distincion entre dato y operador?. Usela para describir las diferencias entre 
cdlculo analogico y cdlculo digital. 

1.2. ^Cudntos valores puede tener una serial analogica?. ^Y una digital?. ^Como se puede hacer 
mdsprecisa la representacion digital de una magnitud fisica continua? 

1.3. "El tiempo analogico es continuo y el digital es discreto". ^Podria explicar el significado de 
esta afirmacion?. 

1.4. ^Ha comprendido la distincion entre reglas de transformacion propias del cdlculo analogico y 
reglas propias del cdlculo digital?. ^Podria enumerar un conjunto de operadores analogicos y 
otro de operadores digitales (binarios)?. 

2. Postulados y Teoremas 

2.1. ^Que significa que "el producto es distributivo respecto de la suma?. ^Como podria 
demostrarlo?. Memos incluido en el tema la demostracion de que x(y+z) = xy+xz. ^Podria 
demostrar ahora la expresion dual, es decir, que tambien la suma es distributiva respecto del 
producto?. 

2.2. Memos visto la demostracion de los teoremas de Absorcion {x+xy=x) y Adyacencia 
[xy + xy = x). Demuestre ahora las expresiones duales {x(x+y)=x) y {x + y){x + 'y)= x 

2.3. Use un simulador tipo PSpice o equivalente para comprobar todos los teoremas. Recuerde que 
un procedimiento para generar de forma automdtica las cuatro configuraciones de valores 
posibles para dos variables logicas (00, 01, 10, 11) es usar como senales de entrada dos 
relojes en los que lafrecuencia de uno de ellos es el doble de la del otro. 

3. Representacion 

Sabemos que toda funcion logica puede representarse mediante tablas de verdad o por 
expresiones logicas en terminos de algun conjunto completo de operadores (AND, OR, NOT; solo 



73 



ElectrOnica Digital 



NAND, solo NOR). Sabemos, ademds que us undo el conjunto completo de oper adores (AND, OR, 
NOT), existen dos formas canonicas duales para representar una misma funcion logica: suma de 
productos y producto de sumas. Por consiguiente, pueden plantearse distintas pruebas de evaluacion 
en este apartado que tiene que ver con los distintos tipos de representacion y con los cambios de uno 
a otro, tal como se ilustra en la siguiente figura. 



Descripcion en Lenguaje Natural 

de las especificaciones 

funcionales de un circuito 



TabladeVerdad 



Formas Can6nicas 
Minternis \* ►Olaxterms" 




Asi pues, para preparar la evaluacion de este objetivo, conviene recordar que los pasos a 
seguir son los siguientes: 



1. Escribir una funcion arbitraria conpocas variables para que elproblema sea 
manejable ^> A=fi(X, Y,Z) 

2. Seleccionar una forma de representacion (solo NAND, por ejemplo) y obtener la 
version de esa funcion usando solo este tipo de operador. 

3. Cambiar la representacion (a solo NOR, por ejemplo) 

4. Comprobar con la tabla de verdady/o con el simulador que ambas representaciones 
(2) y (3) coinciden con (1). 



74 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACI6N 

3.1. Compruebe que ha comprendido el procedimiento pasando a solo NAND las siguientes 
funciones: 

A = XYZ + XYZ + XYZ 

A = Y.m{l,3,5,7) 

A = 1{M{1,3,5) 

3.2, Dibuje un circuito que solo tenga puertas NOR y sintetice las siguientes funciones logicas: 
A=YZ + YZ + XY 



A = XYZ + XYZ + XYZ + XYZ 

4. Analisis 

Recuerde que analizar un circuito logico es encontrar lafuncion logica que calcula, a partir 
del esquema de conexion de las variables de entrada con los distintos operadores. Compruebe que ha 
comprendido el concepto y los ejemplos incluidos en la teoria analizando los siguientes circuitos: 

4.1. 




75 



Electr6nica Digital 



4.2. 




4.3. 




5. Sintesis 

Recuerde que sintetizar un circuito es: 

a) Pasar de una descripcion en lenguaje natural a unafuncion logica. 

b) Pasar de unafuncion logica a su circuito correspondiente. 

5.1. Necesitamos dos circuitos, uno que pase las representaciones en binario puro de las ocho 
primeros numeros (000, 001, ..., Ill) a los decimales correspondientes (0, 1, ..., 7) y otro 
circuito que realice el cambio de codigo inverso. Es decir, que pase de ocho lineas (0, 1, ..., 7) 
a tres lineas de salida que codifiquen en binario estos digitos. ^Sabrias disenar estos circuitos? 

5.2. Sintetizar e implementar un circuito con tres entradas y una salida, de forma que esta ultima se 
ponga en "alta " siempre que a la entrada exista un numero de ceros mayor o igual que dos. 



76 



TEMA 1 : EXIGENCIAS COMPUTACIONALES DEL PROCESAMIENTO DIGITAL DE LA INFORMACI6N 

5.3. Cuatro amigos tienen que decidir si ir al cine, ir de copas o quedarse estudiando y quieren 
tomar la decision por votacion. La votacion consiste en que cada uno tiene una moneda y en el 
mismo instante los cuatro amigos deben presentar a la vez la moneda, de forma que si el 
numero de caras es mayor que el de cruces irdn al cine, si es menor van de copas y si hay 
empale se quedan estudiando. Sintetizar, minimizar e implementar un circuito que realice esta 
funcion. 

5.4. Sintetizar la funcion: 
Y=ABC+ABC+ABC+A^ 

6. Minimizacion 

Recordemos que lo que debe autoevaluarse el alumno en este apartado es: 



a. Cierta habilidad para minimizar funciones logicas por manipulacion algebraicay 
uso directo de los postulados y teoremas del Algebra de Boole. El ejercicio E.J. 6 
del texto de problemas es representativo de esta forma de minimizar y en el material 
teorico de este tema se han incluido varios ejercicios resueltos de este tipo. 

b. Su grado de comprension de los Mapas de Karnaugh que reordenan los terminos 
minimos para facilitar la minimizacion por simple inspeccion visual de los 
agrupamientos mas convenientes. 



6.1. iQue teoremas son los mas adecuados para la minimizacion algebraica? . iPor que?. iQue 
teorema se usa para pasar de XYZ + XYZ a XY ?. iPodria describirlo con palabras? 

6.2. iSabria usted construir el Mapas de Karnaugh para dos variables?. ^Podria minimizar las 
funciones fj=Lm(0,l,2) y f2=YlM(l,2,3) ? 

6.3. ^Sabria construir el Mapa de Karnaugh para funciones de tres variables?. iPor que se cambia 
el orden de las columnas pasando del "natural" (00,01,10,11) al de ahora (00,01,11,10) ? 

6.4. Minimizar las siguientes funciones de tres variables. Observese que son las complemetarias de 
algunos de los ejercicios resueltos en el tema. ^En que le ayuda al proceso de minimizacion el 
conocer el cardcter complementario de estas funciones? . 



77 



Electr6nica Digital 



a) fi=Zm{l,5,6) 

b) f2=i:m{5,7) 

c) f 3 -1.41 '2. 4, 7) 

6.5. Minimizar las siguientes funciones de cuatro variables. 

a) f I =Y.m{l,9,10,l 1,13,14,15) 

b) fl =Y,m{l,3,5,6,7,9,ll,13,14,15) 



Referencias Bibliograficas 

1. Delgado, A.E., Mira, J., Hernandez R., Lazaro. J.C: "Problemas de Electronica Digital". Sanz y 
Torres. Madrid, 1995, 1999. 

2. Fletcher, W.I.: "Engineering Approach to Digital Design ". Prentice Hall, 1980. 

3. Sandige, R.S.: "Modern Digital Design ". McGraw-Hill. 1990. 



78 







Dispositivos Semiconductores 
en Corte y Saturacion 



■¥ CONTEXTO 

El proposito general de este tenia es resumir los conocimientos de Electronica Fisica y Fisica 
de Dispositivos Electronicos sobre el comportamiento de diodos y transistores. 

En el tenia 1 hemos visto los modelos logicos que subyacen a los circuitos combinacionales y el 
conjunto de operadores (puertas AND, OR, NOT; NAND y NOR) necesarios y suficientes para 
sintetizar cualquier circuito logico. 

Par otro lado, en los tenia 3 y 4 estudiaremos la forma de construir fisicamente esos 
operadores usando transistores bipolares y de efecto campo. For eso es necesario este capitulo 2° 
que nos sirve de puente entre la Fisica de Dispositivos (comprender el funcionamiento de los 



Electr6nica Digital 



transistores) y la sintesis de los operadores logicos (usar esos transistores para disenar circuitos 
NAND o NOR). 

Mas adelante, en los temas sobre logica programable (tema 7) y memorias RAM (tema 11) 
volveremos a hacer uso de estos conocimientos de Fisica de Dispositivos. 

-¥-¥ CONOCIMIENTO PREVIO NECESARIO 

Son convenientes ciertos conocimientos previos sobre Electronica Fisica y Fisica de 
Dispositivos porque este tema es bastante compacto. Estos conocimientos se suelen encontrar en 
asignaturas de "Fundamentos Fisicos de la Informdtica", cursadas usualmente al comienzo del 
primer curso. 

Afortunadamente, para el estudio de la Electronica Digital (salvo en puertas ECL), los 
alumnos solo necesitan conocer el comportamiento en carte y saturacion de los diodos y transistores 
que actuan como conmutadores. For eso creemos que es posible resumir en un tema estos 
conocimientos. 

-^-^-^ Objetivos del Tema 

Objetivo 1: Comprender el funcionamiento de los diodos de union FN considerados como 
elementos de circuitoy en situaciones de corte y saturacion (como conmutador). 

> Saber como se polariza un diodo y como cambian los valores de corriente y tension en 
sus extremos al variar los valores de la tension de entrada. 

> Saber utilizar un simulador para obtener las curvas caracteristicas del diodo y 
visualizar su comportamiento como rectificador. 

Objetivo 2: Comprender elprincipio de funcionamiento de los transistores bipolares. 

> Comprender el significado de las caracteristicas externas y de transferencia. 
>■ Saber polarizar un transistor en directay en inversa. 

> Conocer el circuito equivalente para pequenas y grandes senales y tener muy claro los 
valores de tension y corriente caracteristicos de los estados de corte y saturacion que 



80 



Tema2: Disposmvos Semiconductores en Corte y Saturacion 



vamos a usar de forma repetida en el tema 3 para explicar como funcionan las puertas 
logicas. 

Objetivo 3: Comprender el funcionamiento de los transistores MOS, que van a dar origen a las 
familias de puertas logicas MOS y CMOS, at igual que los transistores bipolares dan 
origen a toda la tecnologia bipolar y a las familias TTLyECL. 

> Este objetivo se desglosa en los mismos apartados que el anterior: comprender el 
funcionamiento fisico, conocer sus curvas caracteristicas, saber polarizar al 
dispositivo y conocer sus modelos para pequenas senales y en condiciones de 
conmutacion. 

^■^-^^ GUIA DE ESTUDIO 

La guia de estudio para este tema es muy dependiente del perfil del alumno. El consejo para el 
alumno estdndar es que siga el contenido de este tema y el correspondiente del te.to de problemas 
temendo siempre un simulador muy cerca. Este simulador es algoparecido al ''alumno ideal" que se 
lo sabe todo. de forma que si las formas de onda que nosotros creemos que tienen que aparecer, no 
aparecen al simular, algo no ha sido hecho correctamente. 



^^^ 



Electr6nica Digital 



Contenido del Tema 



2.1. ESTRUCTURA GENERAL DE LOS OPERADORES LOGICOS 

En el tema anterior hemos visto el modelo formal subyacente a toda la computacion digital. 
Para la sintesis de cualquier circuito combinacional nos basta con un conjunto completo de 
operadores logicos. En este tema vamos a ver las bases de electronica fisica y de fisica de dispositivos 
electronicos necesarias para la sintesis electronica de esos operadores logicos que tienen una 
estructura general analoga a la que se ilustra en la figura 2.1. Todos ellos poseen una parte inicial que 
se encarga de realizar la logica AND 6 OR mediante diodos, uniones PN en transistores bipolares o 
tecnologia MOS. Despues la sintesis del operador se completa con una segunda parte encargada de 
sintetizar la negacion. Es decir, mediante un circuito inversor. Veremos primero las bases electronicas 
necesarias para la sintesis de los inversores y, mas adelante, al estudiar las distintas familias logicas, 
veremos como se sintetiza la parte inicial encargada de realizar las funciones AND y OR. 

Un inversor es un circuito con dos estados, v(1)=Vh^ (tension del estado de alta) y v(0) = Vi, 
(tension del estado de baja) y una caracteristica de transferencia como la que se ilustra en Xa figura 
2.1. Mientras la tension de entrada Vi(t) es inferior a un cierto valor umbral, vi(0) , la salida esta en 
alta, a un valor constante, v^(l). Si la tension de entrada sigue aumentando, el circuito conmuta, para 
Vi(t)=Vj(l), a un valor bajo constante, v^fO) y alli permanece para posteriores incrementos de v/t). 

Como en realidad la asignacion de un estado logico a un nivel de tension en un circuito es de 
naturaleza arbitraria, hay dos convenios posibles: (1) logica positiva y (2) logica negativa. En el 
primer caso asociamos el "1" logico al valor de tension mas alto. Es decir, en logica positiva V(l)=Vff 
siempre es mayor que V(0)=Vi. Por ejemplo, 5 y voltios. Inversamente, si asociamos el valor mas 
alto de tension al cero logico, tendriamos logica negativa. En adelante y salvo que se especifique lo 
contrario, usaremos siempre el criterio de logica positiva. 



82 



Tema 2: DisposiTivos Semiconductores en Corte y Saturaci6n 



En el caso ideal, Vo(l) y v^fO) son niveles constantes y repetibles de un inversor a otro y la 
transicion, Vi(0) => Vi(l), es instantanea. Realmente las cosas no son asi. Las transiciones alta=^ baja 
y baja => alta duran un cierto tiempo cuyo inverso es una medida de la velocidad de conmutacion y 
los niveles de alta y baja poseen una banda de tolerancia debida esencialmente a la dispersion propia 
del proceso de fabricacion de circuitos integrados, como veremos mas adelante. 



LOGICA 
AND o OR 



f(Xj,..., X „) 




f(Xj,...,X^) 



Vi(0) Vi(l) ^ vi 



Figura 2.1. Estructura general de los operadores logicos. Constat! de una parte inicial encargada de la logica 
AND o OR seguida de un circuito inversor que sintetiza la negacion. 

Hay muchas formas diferentes de sintetizar un circuito inversor, cada una de las cuales da lugar 
a una "familia logica" caracterizada por un conjunto de parametros estaticos y dinamicos de 
velocidad, inmunidad al ruido, consume, niveles logicos, etc. Las tecnologias de integracion pueden 
ser bipolar o unipolar (MOS y C-MOS). A su vez, dentro de la tecnologia bipolar existen soluciones 
en las que los dispositivos pasan de corte a saturacion (por ejemplo en la familia TTL) y otras en las 
que los dispositivos no se saturan, trabajando siempre en zona activa (familia ECL). 

Nuestra mision ahora es estudiar el operador basico en cada una de estas familias logicas, pero 
la forma de hacerlo depende drasticamente del perfil del alumno. En efecto, el estudio de las distintas 
familias logicas depende del nivel de conocimientos electronicos previos en el alumno al que se 
supone dirigido este texto. Hay dos situaciones claras y distintas. Por un lado esta el alumno que ha 
estudiado previamente asignaturas de electronica fisica y fisica de dispositivos y que, por consiguiente 
conoce de forma razonable el funcionamiento de diodos y transistores bipolares y MOS tanto en 



83 



ElectrOnica Digital 



comportamiento lineal como en situaciones de corte y saturacion, propias de la electronica digital. 
Para este perfil de alunmo no haria falta este tema, pudiendo pasar a la sintesis de los operadores 
basicos (NAND, por ejemplo) en las distintas familias y tecnologias. 

Por otro lado esta el alumno que se enfrenta a la electronica digital sin estudios previos sobre 
fisica de semiconductores y dispositivos activos. Para este alumno esta dirigido este tema que 
pretende mantener una solucion de compromise entre "no decir nada" de electronica fisica y fisica de 
dispositivos y seguir trabajando solo con los simbolos de los operadores logicos, sin preocuparse de 
su sintesis y "decir todo" lo que deberia de haber estudiado en otras asignaturas previas. El nivel de 
compromiso se ha establecido en la descripcion de los dispositivos como elementos de circuito por 
sus caracteristicas extemas y de transferencia y por las ecuaciones minimas necesarias para 
caracterizar su comportamiento dinamico en los transitorios del paso de corte a saturacion y 
viceversa. 

Veremos en este tema los diodos de union P-N, los transistores bipolares y los iransistores 
MOS. Para aquellos alumnos que no hayan tenido ningiin contacto previo con estos contenidos se 
aconseja la lectura de algun libro sohre fisica de semiconductores que introduzca de forma minima los 
conceptos necesarios para comprender el funcionamiento de los dispositivos semiconductores/*). 

2.2. Diodos de Union P-N 

Un diodo de union P-N es un dispositivo electronico que conduce practicamente sin resistencia 
para tensiones positivas y no conduce para tensiones negativas, tal como se ilustra en la figura 2.2. a, 
donde aparece su simbolo, sus caracteristicas tension-corriente (v,f) y la ilustracion de su funcion 
como rectificador que muestra el caracter unidireccional de la conduccion. Ante una onda que pasa 
altemativamente por semiciclos positives y negatives, solo deja pasar a la resistencia de carga, R, los 
semiciclos positives perque en este caso su resistencia es muy baja. En cambio, elimina los semiciclos 
negatives perque su resistencia en este caso es muy alta. 



(*) Una referenda adecuada para complementar el contenido de todo este capitulo son los textos "Electronica 
Analogica Lineal" de J. Mira y A. Delgado, editado por la UNED (ref 074076) y "Problemas Resueltos 
de Fisica de Dispositivos Electronicos" de E. Carmona y J, Mira, editado tambien per la UNED (ref 07407). 



84 



Tema2: Dispositivos Semiconductores en Corte y Saturacion 



"y^ Caracteristicas Ideales 




'^ Simbolo 

Ao — 



(dnodo) 



■^ Funcion 



V 



(a) 



(cdtodo) 







■^ Asimetria Geometrica 



Al 

(aluminio)'-. 



A (dnodo) 
O 




Semiconductor 
\^ Tipo P J 

Semiconductor Tipo N 



sustrato 



Al (aluminio) 
(contacto ohmico) 



C^ (cdtodo) 



(b) 



Figura2.2. Diodos semiconductores de union P-N. (a) Caracteristicas extemas del caso ideal, simbolo y 
funcion rectificadora basica. (b) Estructura fisica. 

Para sintetizar este dispositivo, la fisica de semiconductores nos dice que debemos introducir 
una discontinuidad en un material semiconductor pasando de un tipo P (exceso de huecos, positivos) a 
un tipo N (exceso de electrones, negativos) en un corto espacio. Aparece asi un potencial de difusion 
de contacto consecuencia del paso de la zona P a la zona N de cargas positivas moviles que dejan 
cargas ionicas inmoviles y del paso complementario de electrones de N a P, dejando cargas ionicas 
positivas. Tenemos asi una barrera de potencial, vj, que es la responsable de la conductividad 
asimetrica (el dispositivo conduce en un sentido pero no en el opuesto). Observese que esta asimetria 
electrica es funcion de una asimetria geometrica en el semiconductor. Al existir una barrera de 
potencial, v^, la tension externa puede actuar aumentando esa barrera cuando se suma (v^+v^) y no 
conduciendo o disminuyendo la barrera (vj-Vq), hasta practicamente anularla, dando lugar a un 
proceso de conduccion con baja resistencia. 

Para conseguir esa discontinuidad se produce una difusion selectiva que hace que sobre un 
sustrato tipo N, pot ejemplo, aparezca una region de tipo P. Esto se consigue haciendo crecer una capa 



85 



Electr6nica Digital 



de oxido sobre la region de tipo N y abriendo despues una ventana por procedimientos 
fotolitograficos que eliminan el oxido en una region concreta donde posteriormente se realizara la 
difusion que convierte en P a esa region del semiconductor superponiendo una densidad de impurezas 
aceptoras (tipo Boro, por ejemplo) que neutralizan las impurezas dadoras existentes en esa region. 
Posteriormente se establecen unos contactos metalicos, sobre la zona P y sobre el sustrato tipo N, que 
dan lugar a los terminales del dispositive (figura 2.2.b). 

Supongamos que ya tenemos construida la estructura de una union P-N. El siguiente paso es 
caracterizar su comportamiento electrico como elemento de circuito, es decir calcular: 

a) Su comportamiento estdtico: curvas (v,/) y polarizacion. 

b) Su comportamiento dindmico: 
b.l) Fara pequenas senates. 

b.2) En corte y saturacion. 

La figura 2.3 resume el comportamiento estatico. Se suele usar un modelo unidimensional y las 
hipotesis de impunficacion uniforme y capa vacia de portadores moviles. De forma que en 
condiciones estacionarias y sin aplicar ninguna tension externa (va=0), aparecen tres zonas: zona 
neutra P, zona de transicion y zona neutra N {figura 2. 3. a). Al establecerse la union aparecen 
corrientes de difiision debidas a la existencia de gradientes de concentracion tanto para los huecos 
(hay mas en la zona P, ppo, que en la N, pno) como para los electrones (hay mas en la N , «„o, que en 
la P, npo,). Al Uegar los portadores (electrones o huecos)a la region donde son minoritarios se 
recombinan y dejan cargas ionicas inmoviles (positivas en N, qN^^n, Y negativas en P, qNAXp, figura 
2.3.b) que crean un campo que se opone a la difusion {figura 2.3.c). La situacion de equilibrio 
corresponde al balance de las tendencias difusoras con las de arrastre, dando lugar a una corriente 
total nula. 

Como resultado de este equilibrio aparece una barrera de potencial, vj (figura 2.3.d) que, tal 
como comentamos anteriormente, es la causante de la conduccion asimetrica del diodo. Veamos 
primero el calculo de la barrera y despues su modificacion (polarizacion) mediante la aplicacion de 
potenciales extemos (±Va) que suben o bajan esa barrera (vd ± v^). 

En la zona N hay una carga q-No y en la zona P hay otra carga de signo opuesto -q-NA- Siendo 
Nd el numero de dtomos dadores y Na el niimero de dtomos aceptores que a la temperatura de trabajo 



86 



Tema2: Dispositivos Semiconductores en Corte y Saturaci6n 



estan completamente ionizados y, por consiguiente, contribuye cada uno con una carga ionica. 



4 

dnodo H 



N 



-Lp 



Zona de 
Zona P transicion Zona N 



1- 

■ cdtodo 
Ln 



(huecos) p 



(electrones) n 



(a) 



■^ Carga 



(b) 



^ Campo 



(c) 



■^ Potencial 



(d) 




n ^^(electrones) 
p„o(huecos) 



^P 



Figura 2.3. Modelo lineal usado para analizar el comportamiento estatico de la union P-N. (a) Distincion entre 
las tres zonas (P, N y de transicion). (b) Perfil de la carga ionica inmovil que va a dar lugar a la 
barrera de potencial. (c) Expresion del campo electrico resultado de integrar la carga. (d) Forma de 
la barrera de potencial, resultado de integrar el canqjo electrico. 



87 



Electronica Digital 



Por simple aplicacion de la ecuacion de Poisson, obtenemos: 

^ ^ dE qN A 

Zona P : — = ^ para Xp<x<U [2 11 

luego la expresion del campo en esa region sera la ecuacion de una recta 



£• = 



qNA 



[x + Xp] 



pi [2.2] 



Analogamente para la zona N tendremos: 

dE qN[) 

— = — para < x < x„ ^2.3] 

luego el valor del campo en esta region sera: 



qN£, 



[x-xn) 



[2.4] 



Por consiguiente, la altura de la barrera de potencial, Fj, se obtiene integrando el campo. Es el 
area bajo el campo con signo cambiado, 



x„ 



V,= l-E{x).dx='^.Eo=q'^(x„.Xp) 

[2.5] 

o bien, ^d = —^ Xp [xn + ^p ) [2. 6] 

ya que, por neutralidad electrica, f^D ' ^n - ^ A ' ^p [2. 7] 

Si llamamos W al ancho total de la zona de transicion, (|xn|+|xp|), obtenido sumando las 
penetraciones en las zonas N, {x^), y P, {xp), y anadiendo al potencial de difusion Vd, el que se aplica 
extemamente al polarizar el dispositivo en sentido directo para disminuir la barrera (-F^) o en sentido 
inverse para aumentarla {+Fa), tenemos: 



^' \ q-Ng ^ Na+Nd [2.8] 



88 



Tema2: Dispositivos Semiconductores en Corte y Saturaci6n 



2.3. COMPORTAMIENTO ESTATICO, POLARIZACION Y 
COMPORTAMIENTO DiNAMICO. 

Veamos ahora las caracteristicas tension- corriente, I=f(Va) en los diodos de union P-N. Para 
obtener estas curvas aplicamos una tension externa, Va, y dejamos pasar el tiempo suficiente para que 
se alcance el estado estacionario. Entonces medimos la corriente que atraviesa el dispositive. 
Obtenemos asi un punto de la caracteristica I=f(Va). Modificando el valor de Va y repitiendo el 
proceso obtendriamos todos los puntos de la curva caracteristica. Este es un procedimiento 
experimental. Sin embargo, la solucion de la ecuacion de continuidad nos permite deducir esta curva a 
partir de la estructura interna y del modelo usado en la figura 23. Al admitir que la tension aplicada 
en los terminales extemos, Va, aparece en los bordes de la zona de transicion se obtiene una expresion 
exponencial de la forma 

^ ^ [2.9] 

siendo K la constante de Boltzman, T la temperatura e /, la corriente mversa funcion de los 
parametros electricos de la estructura. Para valores altos de F« que polarizan al diodo en sentido 
directo domina el termino exponencial 

^ [2.10] 

En caso de polarizacion inversa el termino exponencial desaparece y queda 

I = -Is 

[2.11] 

Este es el limite del modelo de Shockley, pero la existencia de procesos no considerados al 
plantear este modelo y en particular los fenomenos de multiplicacion por avalancha y efecto tiinel, 
hacen que la caracteristica real en polarizacion inversa difiera de la ideal en el sentido de que al llegar 
a un cierto valor de tension inversa, F« = V.^ner, el dispositivo entra en conduccion brusca solo 
limitada por las resistencias extemas (figura 2.4). Sea cual fuere el conjunto de procesos que ocurren 
en la estructura interna y cuya manifestacion estatica son las curvas caracteristicas, lo que nos 
interesa a partir de ahora es el comportamiento del dispositivo como elemento de circuito. 



89 



ElectrOnica Digital 



CURVAS CARACTERISTICAS 



> Polarizacion Inversa 

Circuito Equivalente en Inversa 
(Curva del 3er Cuadrante) 



..---^ 



> Polarizacion Directa 

Circuito Equivalente en Directa 
(Curva del ler Cuadrante) ,5fT 



V„^=F- 




Vd 




'^IV, 



■-T 



VA 




Figura 2.4. Caracteristica externa aproxiinada de un diodo, incluyendo la tension de despegue, V-^, y la zona 
exponencial en polarizacion directa (primer cuadrante) y la zona de corte y la ruptura zener en la 
region de polarizacion inversa. En la parte superior izquierda se muestra al diodo polarizado en 
inversa (correspondiente a la curva del tercer cuadrante) y su circuito equivalente incluyendo la 
tension zener, V^, la capacidad de transicion, Cj, y la resistencia inversa de alto valor, rj. En la 
parte de la derecha de la figura se muestra el diodo en polarizacion directa y su circuito 
equivalente, incluyendo la capacidad de difusion, Cq, la pila que simula la tension de despegue, Vy, 
y la resistencia de fugas, R^ y la resistencia del diodo en directa, r^, de bajo valor. 

Es decir, le vamos a aplicar un conjunto de valores de tension entre sus extremes y queremos 
saber como responde modelando su comportamiento en terminos de resistencias, condensadores y 
generadores de tension. 

Cuando usamos un diodo como elemento de circuito empezamos polarizando la union en 



90 



Tema2: Dispositivos Semiconductores en Corte y SaturaciOn 



sentido directo o inverse mediante la aplicacion de un potencial extemo constante, Va, y una 
resistencia R para limitar la corriente, de acuerdo con el esquema de lafigura 2.5.a. Obtenemos asi un 
punto de funcionamiento estatico Q(Vdq,Idq), resultado de la solucion grafica del sistema de 
ecuaciones: 



Va=VD+R-lD 
lD=f{VD) 



Recta de Carga (impuesta por el circuito extemo) 
Curva Caracteristica (propia del diodo^ 




[2.12] 
[2.13] 



Figura2.5. Polarizacion y comportamiento para pequenas senales. (a) Punto de trabajo (punto Q) 
resultado de la interseccion de la recta de carga, V^=Vd+RId, y la curva caracteristica lD=f(VD)- 
r*; Comportamiento dinamico para pequenas seiiales. El punto de trabajo realiza pequeiias 
oscilaciones en tomo al punto de funcionamiento estatico (Q) y el diodo se comporta como una 
pequeiia resistencia, r^. (c) Esta resistencia dinamica es la inversa de la tangente a la curva 
caracteristica. 



91 



Electr6nica Digital 



Es decir, el punto de funcionamiento estatico es el resultado de la interseccion de la recta de 
carga con la curva caracteristica. La recta de carga la forzamos nosotros desde el exterior mediante 
la pila Vq y la resistencia de polarizacion, R. En cambio, la curva caracteristica es consecuencia de la 
estructura interna de la union P-N. El unico punto de trabajo posible es aquel que cumple ambas 
condiciones. Ese es el punto Q. 

Vamos a estudiar el comportamiento dinamico correspondiente a situaciones en las que la 
tension de polarizacion es funcion del tiempo. Nos vamos a limitar a pequeiias seiiales donde 
"^(t) "= Va~^Va(t) siendo Va(t) pequena. Este caso corresponde al comportamiento lineal de la union, tal 
como se ilustra en \a figura 2.5.b. El diodo se comporta como una pequeiia resistencia lineal, r^ , 
dando lugar al primer circuito equivalente para pequeiias seiiales. 

Este modelo hay que completarlo afiadiendole la capacidad C/) que aparece al resolver la 
ecuacion de difusion dependiente del tiempo y que no vamos a considerar aqui. De la misma manera 
habria que aiiadir las resistencias de fugas que tampoco vamos a considerar. 

La figura 2.6 resume la caracterizacion del diodo como elemento de circuito completando el 
modelo para pequeiias seiiales con el modelo para continua (condiciones estaticas) que consta 
simplemente de un diodo ideal en serie con una pila y con una resistencia dinamica pequeiia para el 
caso de polarizacion directa y muy grande para el caso de polarizacion inversa tal como comentamos 
anteriormente. En continua o para muy bajas frecuencias no aparecen efectos dinamicos y por eso 
hemos podido eliminar todas las capacidades obteniendose un circuito equivalente que es el resultado 
de aproximar por tramos la caracteristica tension-corriente. 

Tal como se ve en la figura el diodo real se separa del diodo ideal en que: 

a) No empieza a conducir enV=0 sino en V = F^ (tension de despegue). 

b) La caracteristica en directa se puede aproximar por una recta, pero la pendiente no es infmita: 
tang a= J/r^. Es decir, el diodo cuando conduce, no es un cortocircuito sino que presenta una 
pequeiia resistencia. 

c) El diodo ideal en inversa era un circuito abierto, sin embargo el diodo real en inversa presenta 
una conductividad muy baja, o sea una resistencia muy alta, pero fmita. Ademas, si seguimos 
aumentando la polarizacion inversa, al llegar a un cierto valor, V^ener, 'a union P-N entra en 
zona de ruptura por multiplicacion por avalancha o por efecto zener-tunel. Cuando esta ruptura 



92 



Tema 2: DisPOSiTivos Semiconductores en Corte y Saturacion 



no es deseada hay que evitarla pero en ciertas ocasiones se busca a proposito para conseguir 
una funcion terminal distinta, usada en referencias de tension y en circuitos reguladores o bien 
para "sujetar" la tension de un circuito digital a un cierto valor constante. 



+ 
A 



DIODO 



Ideal 



Real 



fi'-A 



\a 



Polarizacion Directa 



\a 



— O—^ o o- 

C A C A 



I Diodo' 
I ideal 



►hdlM'vv^L 



VM', 



rjcion 



. Polarizacion Inversa . 

to- lZ 



+ 

c 



\ Diodo 
\ ideal 



^^ ri>10°n I 



Figura 2.6. Resumen de los distintos modelos usados para aproximar el comportamiento del diodo, tanto en 
polarizacion directa como inversa. 



93 



Electr6nica Digital 



2.4. DiODOS EN CONMUTACION. 

Toda la electronica digital esta basada en el tratamiento de sefiales que solo pueden 
tener dos valores (per ejemplo cero 6 cinco voltios) asociados a los valores logicos V( 0) = voltios y 
V( 1) = +5 voltios. En este caso el diodo opera entre corte (polarizacion en inversa con V^ = 
voltios) y activa (polarizacion directa con Vq = +5 voltios) y nos interesa caracterizar estos estados y 
sus transiciones. Es decir, es importante conocer la respuesta de la union ante saltos en la tension de 
polarizacion porque estos procesos limitan la velocidad de conmutacion de un circuito digital. Para 
comprender los procesos que ocurren en los transitorios de conmutacion introducimos el modelo de 
control por cargas. 

Volvamos al modelo fisico simplificado de la figura 2.3 y supongamos que la region P esta 
mucho mas impurificada que la N de modo que solo es significativa la componente de corriente 
asociada a los portadores minoritarios en N, es decir, a Jp (en N). La ecuacion de difusion para huecos 
en N es: 

^ dx^ ^t ^P [2.14] 

siendo p] = Pn - PnO ^^ exceso de concentracion resultado de la inyeccion desde la otra zona donde 
son mayoritarios los huecos. La concentracion total es j9„ y su valor en situaciones de equilibrio, a 
temperatura constante y sin inyeccion de carga, p^^Q. 

Conocida />; de esta ecuacion, la densidad de corriente de huecos sera: 

'p-'^^'p'-fi [2.15] 

Observese que la tension aplicada, Vq, fija el valor del exceso de concentracion de huecos en la 
frontera con la zona de transicion, suponiendo que es despreciable la caida de tension en la zona 
neutra, tal como se ilustra en \a figura 2. 7. 

Pl{xn)=Pno[e'^'^''^'^ -Ij [2.16] 

En cambio, la corriente que atraviesa el diodo no depende del valor absolute del exceso de 



94 



Tema 2: DisposiTivos Semiconductores en Corte y Saturaci6n 



■ , / \ dpi 

concentracion, pi\Xyi), smo de su derivada ~ — tal como expresa la ecuacion [2.15] y se ilustra en 

\ajlgura 2. 7. 



Entran: SJL(x^) 



Valor depj(x„)=p„Q-^^'^^f^T 
, (depende de la V. aplicada) 



Variacion neta; dQ /dt 




Valor de la corriente: Jp=-qDpdp, /dx 
(depende de la pendiente) 



Salen: SJp(L^) 



Mueren dentro: Q„/t 



■P' 'P 



Area bajo la curva: Qp= \qSpj (x)dx 



S-Jp(xJ-S-Jp(LJ= -^ 



+ 



a. 



V 



entran salen incremento mueren por 

6 decremento recombinacion 



Figura 2. 7. Ilustracion del principio de conservacion de la carga en la zona neutra de una union P-N. 

El camino analitico normal ahora consistiria en resolver las ecuaciones [2.15] y [2.16] con las 
condiciones de contomo adecuadas. Sin embargo, para estudiar el comportamiento de los diodos de 
union P-N en electronica digital no necesitamos conocer la solucion exacta y nos basta con poder 
evaluar los momentos en los que se produce la conmutacion y los retardos correspondientes desde que 
dimos la orden de conmutar cambiando el valor y el signo de la tension aplicada en sus extremos. 



95 



ElectrOnica Digital 



Estos retardos se deben esencialmente a la necesidad de extraer la carga almacenada en la 
union. En polarizacion directa esta carga se almacena esencialmente como exceso de portadores en las 
zonas neutras. En polarizacion inversa, la carga se almacena esencialmente en las zonas de transicion. 
Por eso es posible simplificar el analisis viendo solo lo que pasa con la carga. 

Recordemos que estamos usando un diodo con impurificacion muy asimetrica y por 
consiguiente solo necesitamos estudiar la variacion de la carga en la zona neutra de la region N, desde 
la frontera con la zona de transicion, x„, hasta la longitud de difusion, L„, donde practicamente ya no 
hay exceso de concentracion sobre el valor de equilibrio (p^ [l„ ) » p„Q y pj (Z,„ )~0)- 

Para obtener la expresion de la variacion temporal de la carga de huecos en exceso, Qp, 
almacenada en la zona neutra integramos el exceso, pi(x), entre x^ y Ln, es decir calculamos el area 
bajo la curva de exceso de concentracion, (figura 2.7), tras multiplicar por el area transversal del 
diodo, S, y por la carga elemental, q. 

Qp = \qSpi{x)dx 

[2.17] 

Esta carga varia cumpliendo la ecuacion de continuidad [2.14] que es la expresion del principio 
de conservacion de la carga que vamos a introducir de forma cualitativa. La diferencia entre la carga 
que entra a la zona neutra por x„ en la unidad de tiempo, S-Jp(xn), menos la que sale por Z,„ en el 

mismo tiempo, S-Jn(Ln), es igual a la que se pierde por recombinacion, P , mas — ?- , que 

Tp dt 

representa el incremento o disminucion en la carga almacenada. 
SJp{xn)-SJp{Ln) = ^ + ^ 



dQp^ Qp_ 
dt tp [2.18] 



La diferencia, por unidad de tiempo, entre la corriente de huecos que entran en la region neutra 
de la zona N y los que salen por el contacto metalico es igual a la velocidad con que cambia la carga 
almacenada mas la velocidad con que desaparecen por recombinacion. 

Desgraciadamente, de esta relacion tan sencilla entre la carga y la corriente no podemos obtener 
otra equivalente entre la tension y la corriente porque el punto de trabajo, Q, no depende solo de la 
tension, salvo en condiciones estaticas. Estudiaremos pues la relacion entre la tension aplicada y la 



96 



Tema 2: DisPOSiTivos Semiconductores en Corte y Saturaci6n 



corriente para algunos casos asociados al proceso de conmutacion entre dos estados estables. 



2.4.1. Transitorio de Cierre 



Supongamos un diodo en serie con una resistencia al que aplicamos de pronto una tension 
externa suficiente para polarizarlo en sentido directo y veamos como se modifican las concentraciones 
en el intervalo de tiempo previo al alcance de una situacion estacionaria en la que la tension en los 
extremos del diodo alcanza un valor constante. La/igura 2.8 ilustra el proceso. Al aplicar una tension 
de polarizacion en directa, Va=V2^ suficientemente mayor que la tension de despegue, V/, la caida en 
la resistencia de polarizacion marca la corriente, /, que atraviesa el diodo. 



^2-^D .72 



R 



R 



[2.19] 




Figura 2.8. Transitorio de cierre. (a) Circuito. (b) Crecimiento del exceso de portadores en zona neutra al 
pasar el tiempo. (c) Transitorio y estacionario de V^ft). 



97 



Electr6nica Digital 



Esto produce un cambio brusco en el valor de la pendiente de la concentracion de portadores en 
la frontera de la zona de transicion que pasa de cero a : 



^Pljx) 



dx 



^1/^- ^^ [2.20] 






qSDp qSRDp 



Observese que este cambio en el valor de la pendiente es muy rapido ya que basta con inyectar 
unos pocos portadores. La nueva corriente va aumentando la carga almacenada en la zona neutra, 
subiendo la curva del exceso de concentracion tal como se muestra en \afigura 2.8.b, hasta que se 
alcanza el estado estacionario. Entonces, 



y por consiguiente: ^d = — '" 



Is . 



[2.21] 



2.4.2. Transitorio de Corte 

Partimos ahora de la situacion anterior, en la que el diodo esta polarizado en sentido direct© 
mediante la tension Va=V2, de la que caia Vd en la union en estado estacionario. Para realizar una 
conmutacion, cambiamos el valor de la tension aplicada en magnitud y signo. Este cambio en la 
tension aplicada, Va=V], terminara polarizando a la union en sentido inverse en condiciones 
estacionarias, cuando pase algiin tiempo. Ahora bien, lo que nos interesa ahora no es el estado 
estacionario sino conocer el comportamiento transitorio. Es decir, ver como se alcanza el estado 
estacionario y cuanto tiempo consume el proceso de conmutacion, porque de este parametro 
dependera la frecuencia maxima a la cual pueden usarse los circuitos digitales construidos a partir de 
estas uniones P-N. La pregunta que nos hacemos es icomo se alcanza el nuevo estado estacionario de 
corte? . 

Desde luego, lo primero que cambia es la magnitud y el signo de la corriente pues para ello 
basta con cambiar la pendiente de la concentracion y esto solo exige mover unos pocos portadores, 
tal como se ilustra en lafigura 2.9. 

Al invertir la corriente cambia la pendiente pero el diodo sigue en polarizacion directa. La 
corriente inversa se gasta en compensar el exceso de carga y la tension no cambia de signo hasta que 



98 



Tema 2: DisposiTivos Semiconductores en Corte y SaturaciOn 



no pasamos por Pi(xn) = 0. La disminucion de Qp, proporcional a la integral entre x„ y Lfj del exceso, 
pi(x), se debe a la extraccion y a la recombinacion (termino Qp/ Tp). 



PJ^) 



i P(x) 



P,(Xn)\ s i(t)»—^ 




-Fi/i? 



Pl(x)=p/x)-p^Q 



Pl(Xn)\,^O^m-^- 




-Vi_ 
R 






(a) 






(b) 



Figura 2.9. Cambio de pendiente en el exceso de portadores en la frontera de la zona de transicion como 
consecuencia del paso de polarizacion directa a inversa. (a) Situacion estacionaria en polarizacion 
directa. (b) Situacion transitoria tras el cambio de la tension externa. 

Aunque se haya invertido la corriente (pendiente), el diodo sigue en polarizacion directa hasta 
que Pn(xn) no pasa por debajo del valor de equilibrio, pnQ. Tras la inversion, los huecos almacenados 
son insuficientes para mantener la pendiente de p(xn) (corriente), por lo que no se puede mantener el 
ritmo de extraccion// = V] /R pudiendo entonces ocurrir dos cosas: 

a) Si estamos alimentando por un generador de corriente aumentara la tension inversa hasta 
introducir a la union en una zona de ruptura. 

b) Si Vj es superior a la tension de ruptura y el generador no es ideal, la corriente inversa cae hasta 
el valor de saturacion, -/y, tal como se muestra en el esquema de \a figura 2.10. 

El tiempo que tarda en invertirse la tension, despues de haberse invertido la corriente se llama 
tiempo de retardo por almacenamiento, t^. Logicamente cuanto mayor sea la corriente inversa, -/;, y 
menor el tiempo de vida media de los portadores, menor sera tambien este tiempo de retardo, tg. Su 
valor se puede estimar usando el modelo de control por carga y suponiendo diodos largos en los que 
la zona N es mucho mayor que la longitud de difusion para huecos, por lo que podemos despreciar el 
valor de la corriente de difusion en las proximidades del contacto metalico, de [2.18] obtenemos, 



Jp{LnhO ^ S-J{xn) = 



dQp 
dt 



rp 



[2.22] 



99 



ElectrOnica Digital 



Pjx.t) 




Vj^ (inversa) 



Figura 2.10. Transitorio de corte. (a) Forma del exceso de concentracion, Pn(x). (b) Corrientes y tensiones 
terminales en las que se representa de forma expandida el transitorio para mostrar el significado 
fisico del proceso. 

Si observamos la figura 2.11 vemos que despreciando el area matizada podemos calcular t^ a 
partir del instante t en el que la carga pasa por cero, Qp(t) = 0. 




Figura 2.11. Detalle del error producido al calcular t^. 

Por definicion, tg, es el tiempo necesario para eliminar toda la carga almacenada haciendo igual 
a cero el valor de Qpsnt = tg. 

Antes de conmutar, en t < 0, como estamos en situaciones estacionarias, — ^ = y, por 

dt 



100 



Tema 2: DisPOSiTivos Semiconductores en Corte y Saturaci6n 



Qp\o- 
consiguiente, la ecuacion [2.22] nos da: 1 2 = - 



Despues, tan pronto como se realiza la conmutacion, ent >0, aplicando de nuevo la ecuacion 
[2.22], tenemos 



-I,A.Q^^QU)=-I,..,K.e^P 



para 



t=0, Qp^l2'^p=-Il'^p+K => K = rp {I1+I2 ) [2. 24] 



luego la evolucion temporal de la carga seguira ima expresion exponencial del tipo, 

t 

Qp^) = -Il-^p+^p-{ll+l2)e ^P [2.25] 

Recordando finalmente que t^ se definia como el tiempo en el cual Qp(ts) = 0, hacemos 
Qp(h) = en la expresion anterior y obtenemos: 



h =^p-l" 



V l2j 



[2.26] 



2.5. Transistores Bipolares 

Un transistor bipolar es un dispositivo de tres terminales, llamados base, emisor y colector 
constituido por dos uniones P-N con una zona (base) comiin. Hay, por consiguiente, dos tipos de 
transistores bipolares PNP y NPN que se representan por los simbolos de la figura 2. 12. 

El nombre de transistor precede de la compresion de las palabras inglesas Transfer Resistor 
que describen su principio de funcionamiento consistente en conseguir transferir un mismo nivel de 
corriente desde una impedancia baja (union base-emisor) a una alta (union base-colector), con la 
consiguiente ganancia en tension y potencia. 

Se le llama bipolar porque la conduccion se realiza en las dos bandas, es decir, haciendo 
intervenir a los electrones y a los huecos tal como ocurria en los diodos de union y en contraposicion 
a lo que ocurre con los transistores de efecto campo que veremos mas adelante en los que la 



101 



ElectrOnica Digital 



conduccion se debe solo a los portadores mayoritarios. Estos dispositivos que conducen usando un 
unico tipo de portador se llaman unipolares. 




Figura 2.12. Simbolo y modelo simplificado de la estructura interna en transistores bipolares PNP y NPN. 

De entre las distintas estructuras fisicas posibles, la tecnologia actual es del tipo 
planar-epitaxial con un campo gradual en la base que ayuda, por deriva, a los mecanismos de 
conduccion por difusion. Lajigura 2. IS muestra la forma de esta estructura. Para el caso NPN, por 
ejemplo, se parte de una sustrato N"*" y sobre el se hace crecer una capa epitaxial tipo N. Despues se 
oxida de nuevo la superficie del Silicio y se abren ventanas para proceder a la difusion de nuevas 
impurezas del tipo de las del sustrato y formar asi una segunda union. Finalmente, se abren ventanas 
para metalizar, estableciendo asi contactos ohmicos sobre las dos difusiones que van a dar lugar a los 
terminales extemos de base y emisor, respectivamente. 




Contacto Ohmico 



Figura 2.13. Estructura fisica de un transistor bipolar en tecnologia planar. 



102 



Tema 2: DisposiTivos Semiconductores en Corte y SaturaciOn 



Observese que el terminal de colector esta unido al sustrato. La region de colector esta asi 
constituida por una capa epitaxial y un sustrato, ambos de impurezas del mismo tipo, pero este con 
una concentracion mucho mas elevada que aquella. 

Dado que un transistor consta de dos uniones, existen cuatro modos de funcionamiento posibles 
segun que cada una de estas dos uniones se polaricen en sentido directo o inverso . La tabla de la 
figura 2.14 resume estos modos y el signo de las tensiones para un transistor NPN. Para un transistor 
PNP estos signos deben invertirse. 




Union Emisor-Base 



.Pplarizacion Directa 



Polarizacion Directa 



Polarizacion Inversa 



'^olarizacion Inversa 



Union Base-Colector 



Polarizacion Directa 



Polarizacion Inversa 



Polarizacion Directa 



Polarizacion Inversa 



Modo de funcionamiento 



Activo Normal 6 directo 



Activo Inverso 



Figura 2.14. Modos de funcionamiento. 

Los modos de saturacion v corte son l os propios de la F.lectronica Digital en general, donde el 
transistor actua como un conmutador (analogico) que pasa de resistencia muy baja (cerrado, 
saturacion) a resistencia muy alta (abierto, corte) de acuerdo con el valor de la tension en la base. 
Aqui aparece el soporte electronico de la accion "inversor". La salida (colector) de un transistor se 
conecta como entrada a la base de otro transistor, de forma que, cuando el primero esta en corte, el 
segundo esta en saturacion y viceversa. Si el corte se asocia al estado logico ¥{"1") y la saturacion al 
estado logico V("0"). aparece una estructura que soporta la funcion logica de complementacion. 



103 



Electr6nica Digital 



El modo de funcionamiento lineal y propio de la Electronica Analogica es el modo activo 
normal o directo en el que la union base-emisor esta polarizada en sentido directo y la union base- 
colector en sentido inverso. En estas condiciones el transistor es un amplificador. Las variaciones en 
la tension base-emisor dan lugar a variaciones en la corriente de emisor (Z^), pero sobre una 
impedancia mucho mayor. Este es el principio de funcionamiento del transistor bipolar: dos uniones 
P-N con un area comun tan estrecha que los portadores que inyecta una de las uniones son recogidos 
por la otra practicamente sin tener tiempo de recombinarse. 

2.5.1. Diagrama de Corrientes: Estudio Cualitativo del Transistor 
Bipolar. 

Supongamos ahora que tenemos un transistor PNP polarizado extemamente con dos pilas que 
hacen que la union de emisor esta polarizada en sentido directo y la union de colector en sentido 
inverso. Tenemos asi una configuracion en modo activo normal. 

Como el transistor es un dispositivo de tres terminales, al ser estudiado como elemento de 
circuito, como un cuadripolo, uno de los terminales debe ser comun a la entrada y a la salida dando 
asi lugar a tres configuraciones basicas; base comun, emisor comun y colector comun (figura 2.15). 



▲ 



k 



^^ 



► c 

^— o ■ 



'S 



B 



,BC 



^ + 



&- 



Jb 



^ 



4^ 



EB 



+ 1- 



Ie 



,BC 



T 
-0 + 



^C5 



k 



+z- 



ilc 



J. 



▲ 
V 



EC 



Base Comun (B. C.) Emisor Comun (E. C.) Colector Comun (C. C.) 



Figura 2.15. Configuraciones basicas de un transistor bipolar: (B.C.: Base Comun, E.C.: Emisor Comun y C.C: 
Colector Comiin). 

Haremos el estudio del diagrama de corrientes y la caracterizacion estatica sobre la 
configuracion en base comun. 

El tratamiento general y analitico del efecto transistor queda fuera del alcance de este tema que 



104 



Tema 2: DisposiTivos Semiconductores en Corte y Saturaci6n 



solo pretende introducir los conocimientos sobre dispositivos electronicos imprescindibles para 
estudiar las familias logicas. Per eso nos limitaremos a estudiar los efectos de primer orden usando un 
modelo unidimensional en los siguientes pasos: 

a) Analisis cualitativo (diagrama de corrientes). 

b) Solucion de la ecuacion de difusion para portadores minoritarios en la zona neutra de la region 
de base. 

c) Circuitos equivalentes. 

Con estos conocimientos minimos ya podremos pasar al estudio del transistor en corte y 
saturacion y los transitorios asociados al cambio de estado, que son los procesos mas usuales en 
electronica digital. 

La figura 2.16 muestra el esquema de un transistor PNP polarizado en modo activo normal, el 
perfil de impurezas suponiendo uniones abruptas, el diagrama de bandas de energia y la forma 
aproximada de los excesos de concentracion de minoritarios, consecuencia de la yuxtaposicion de las 
concentraciones correspondientes a las dos uniones. 

Observese que en cada union existe una zona de transicion, mas ancha en la union de colector 
que en la de emisor debido a que aquella esta polarizada en sentido inverso y que el colector esta 
mucho menos impurificado que el emisor. La anchura efectiva de la base, W^, es la longitud 
comprendida entre los bordes de ambas regiones de transicion por el lado de la base. 

Empecemos describiendo el diagrama de corrientes. La union de emisor esta polarizada en 
sentido directo por lo que inyecta un gran numero de huecos en la base, IpE. La otra componente de la 
corriente de emisor, /㣥, representa los huecos que se consumen en la frontera de la zona de transicion 
para recombinarse con los electrones que inyecta la base en el emisor. Asi pues: 

^E=InE+IpE [2.27] 

Sigamos ahora el camino de los portadores que se inyectan en la base, gran parte de estos la 
atraviesan sin tener tiempo de recombinarse, dando lugar a la componente de la corriente de huecos en 
el colector, Ipc- Sin embargo, algunos de estos portadores se recombinan durante el transito de la zona 
neutra de base dando lugar a una pequena componente de la corriente de base, Ibb- 

^pC=IpE-lBB [2.28] 



105 



ElectrOnica Digital 




Figura 2.16. Esquema del transistor bipolar con el diagrama de corrientes, la distribucion de carga y el efecto de 
la polarizacion {Vgg y Vgc) sobre las barreras de potencial y la distribucion del exceso de 
concentracion en las proximidades de las imiones. 



106 



Tema 2: DisposiTivos Semiconductores en Corte y SaturaciOn 



La otra componente de la corriente de colector es la propia de una union P-N polarizada en 
sentido inverso, InC (extraccion de portadores desde una region en la que son minoritarios). Es decir: 

IC=IpC+^nC [2.29] 

Finalmente, la corriente en el terminal de base posee las tres componentes que hemos descrito 
anteriormente: inyeccion en el emisor, /g£ = /„£•, extraccion del colector, Iqc ^ -hc Y aporte de 
electrones para recombinarse con los huecos que atraviesan la zona neutra de base, Ibb- Asi pues: 

JB = ^BE + ^BB + ^fiC = ^nE + ^BB -^nC f^- ^^1 

Globalmente las tres corrientes deben cumplir el principio de conservacion de la carga, de 
forma que: 

Ie=Ib+Ic [2-^1] 

Observese de nuevo que la accion transistor se debe a la estrechez de la region de base que hace 
que por la union de colector, polarizada en sentido inverso, pase una corriente alta, practicamente 
igual a la inyectada por la union de emisor que esta muy cerca. Si alejaramos ambas uniones, 
aumentando Wg, se perderia el efecto transistor y tendriamos solo dos diodos en oposicion (figura 
2.17. a). El efecto de la proximidad de las uniones lo representamos en terminos de elementos de 
circuito introduciendo un generador de corriente dependiente de I^ y practicamente igual a esta («/£■, 
siendo (Z«7)en paralelo con la union de colector (figura 2.17.b). 

Hay tres pardmetros que caracterizan la calidad de un transistor y que en un caso ideal deberian 
valer la unidad para la configuracion en base comun: 

a) Eficiencia de emisor: y = -E— = ^ <;. Mide la participacion de la inyeccion de 

^E. IpE + InE 

emisor en la corriente total. En un caso ideal, se aproxima a la unidad, debido a que, por 
construccion, la region de emisor esta mucho mas impurificada que la base. 

b) Factor de transporte: p = -^ — < ; . Mide los minoritarios que atraviesan la zona neutra de 

IpE 

base sin recombinarse. En un caso ideal de base muy estrecha y con la conduccion ayudada por 
un campo electrico (base gradual, transistor de deriva) P seria igual a 1 . 



107 



ElectrOnica Digital 



c) Factor de multiplicacion de colector: a = — —• Da una medida de la contribucion de la 

he 

corriente de huecos procedentes del emisor a la corriente total del colector. 

Estos tres parametros se combinan para dar lugar a la ganancia en corriente en base comun, a, 



que sera: 



ic ^c he hE * r,* 

Ie IpC IpE ^E 



[2.32] 



N 



E 
(a) 



° ^N K ° 






r<nP^ 



B 



rg=15Q 
rft=150O 
rc=2Mn 
0=0,998 



(b) 

en Directa 



B 



IcraJg^lco 



h 4 ^co 



k 

en Inversa 









(c) 




i/« «^^ 



'C 



Figura 2.17. Nacimiento progresivo del modelo del transistor bipolar considerado como elemento de circuito. 
En (a) se ilustra la perdida del efecto transistor al alejar las dos uniones. Solo nos quedan dos 
diodos en oposicion. En (b) aparece el efecto transistor por la estrechez de la region de base. 
Ahora, la corriente del emisor alcanza practicamente toda (a «1) al colector y esto se representa a 
nivel de elementos de circuito poniendo un generador dependiente de corriente en paralelo con el 
"diodo" de colector. En (c) aparece un circuito equivalente resultado de completar el modelo 
anterior fenomenologicamente. Es decir, aiiadiendo aquellos elementos que sabemos que estan, 
como rg, r}} y Fv aunque no hayan aparecido en la parcela de teoria usada para obtener la etapa 
anterior del modelo. Como la union de emisor esta polarizada en sentido directo, nos vamos a la 
parte correspondiente del modelo de la union de la figura 1 .4 y sustituimos el diodo por r^ en serie 
con Vy Analogamente, como la union de colector esta en inversa, sustituimos el diodo 
correspondiente por una resistencia de alto valor, r^- 



108 



Tema2: Dispositivos Semiconductores en Corte y Saturaci6n 



2.5.2. Circuitos Equivalentes del Transistor Bipolar 

A partir de aqui podemos ya obtener un primer circuito equivalente del transistor construido 
fenomenologicamente, (figura 2.17.c). El emisor lo sustituimos por el modelo de una union P-N 
polarizada en sentido directo, es decir: r^ y Vy. En el colector incluimos la alta resistencia de una 
union polarizada en inversa {re) y un generador de corriente dependiente de la de emisor, alg. 

La siguiente etapa que se ilustra en \2i figura 2.18 es el Modelo de Ebers-Moll con el que se 
completa la caracterizacion del transistor bipolar en condiciones estdticas. Es decir, cuando se aplican 
las tensiones de polarizacion {Veb y Vcb) se espera el tiempo necesario para que se alcancen las 
situaciones estacionarias y entonces se mide el valor que ban alcanzado las corrientes, Ic, Ir e Ib, 
obteniendo: 

Ir = funcion de {Vbe. Vcb) : Caracteristica de entrada. 
Ic = funcion de (Vbr, Vcb): Caracteristica de salida. 
Siendo: Ib= Ig- Ic 



E ^e E' 

o /\/W-f 

- --» 



fXRlR 







C '"'= c 

t~AAA/ — ° 



'c 



Figura 2.18. Modelo de Ebers-Moll resultado de considerar la simetria de la situacion. Ahora, partiendo de la 
figura 2.17.C, se ha anadido en el emisor un nuevo generador dependiente de la corriente del 
colector y se ha modificado levemente la nomenclatura introduciendo los subindices R (reverse) v 
F (forward). '^ 

Observese que en un caso general los valores del potencial en las uniones, Vbe Y Vbc, podran 



ina 



ElectrOnica Digital 



ser positives o negatives, dando lugar a polarizaciones directas o inversas y consecuentemente a los 
cuatro modos de funcionamiento que hemos comentado anteriormente (activo normal, activo inverse, 
saturacion 6 corte). 

El modelo de Ebers-Moll aparece analiticamente al resolver la ecuacion de difusion, pero aqui 
lo vamos a introducir fenomenologicamente. 

Como las tensiones Veb Y Vcb pueden tomar cualquier valor, la corriente en el terminal de 



colector siempre se podra escribir como la correspondiente a la union de colector 

[ T - „ T i I^EbIK^T _ /) 

mas la inyectada desde el emisor a traves de la base pF '-'F ~"F-'£5\^ ■'/ 

Analogamente, la corriente de emisor siempre quedara descrita por una expresion que incluya la 



correspondiente a la union de emisor 



desde el colector 



mas la que pueda proceder de la inyeccion 
. Por consiguiente, en general: 



lE=lF -OCR ■lR=lEs[e'^'^'''^^ -l)-^R -/cs^e^'^^^/^^ -^ 
IC =ap If -Ir =aF-lEs(e'^^E^^^^ -l]-Ics{e^^CB/KT _j 



[2.33] 

[2.34] 

Cumpliendose para la corriente de base, 

lB=lE-IC=iF{l-ccF)+lR{l-aR) [2-35] 

Estas ecuaciones se corresponden con las ecuaciones de los nudos E', C y B' de la figura 2.18. 
Lo linico que hemos hecho ha sido sumar algebraicamente y de acuerdo con el criterio de signos de 
cuadripolos, las corrientes que entran en E' (expresion [2.33]), en C (expresion [2.34] y en B' 
(expresion (2.35]). De nuevo, por razonamientos fenomenologicos, hemos introducido las resistencias 
^e, ^c y fb correspondientes a la resistencia ohmica de las zonas neutras de material semiconductor 
existentes desde las regiones de transicion hasta los terminales extemos. Por los mismos 
razonamientos se han introducido dos capacidades, Cg y Cq, que si bien no actiian a baja frecuencia, 
seran dominantes cuando el transistor se integre en circuitos dinamicos que operen a altas frecuencias. 

Recordemos fmalmente que este modelo de Ebers-Moll es general y vale para cualquier 



110 



Tema 2: DisPOSiTivos Semiconductores en Corte y Saturaci6n 



combinacion de valores y signos en las tensiones de polarizacion de las uniones (F^^ y Vcb)- Ahora 
bien, en cada situacion real el modelo se simplificard. For ejemplo, en el modo active 
normal {Veb > Oy Vcb < Oy grande en valor absoluto) queda: 



g^EB 



h-^Es^^^ ^ 5^^^ ~ ■■Jf ) \ ^ph 



M 



qVEB _ E' '^ij, 

^C^^F^ES^ '^hsk "("f^F ) 



(II>-, 



B' 



con lo que obtenemos de nuevo el modelo simplificado de lafigura 2.17.b. En emisor hay una union 
directa dominada por el termino exponencial y en colector solo existe la parte de esa corriente (aplf , 
af<\) recogida por la union de colector que esta en inversa, ya que su propia corriente inversa, Iqs, 
es despreciable en terminos relativos. 

2.5.3. Curvas Caracteristicas y Regiones de Funcionamiento de los 
Transistores Bipolares 

Las curvas caracteristicas representan la relacion entre los valores de tensiones y corrientes en 
los extremos de un transistor. Asi, si el transistor esta en configuracion de emisor comun, sus 
caracteristicas de entrada, Ib ^/(Vbe), muestran la relacion entre la corriente de base, Ib, y la tension 
base-emisor, Vbe, cuando la tension colector-emisor, Vce, se mantiene como parametro constante, tal 
como se muestra en la figura 2.19.b. Analogamente, las caracteristicas de salida, Iq = /(Vce), 
muestran la relacion entre la corriente de colector, Ic, y la tension entre colector y emisor, Vce, para 
Ib constante, (figura 2.19.c). 

Sobre ambas caracteristicas se distinguen las tres zonas de funcionamiento: corte, activa y 
saturacion. En corte, el transistor no conduce, porque la union de emisor no alcanza la polarizacion 
directa, Vbe = 0,6 voltios. Por consiguiente /^ = y en la caracteristica de salida la region de corte 
corresponde a la zona que esta por debajo de la curva correspondiente a /^ = 0. Si aumentamos la 
tension base-emisor, el transistor permanece en zona activa, la union base-emisor conduce como un 
diodo polarizado en directa y el colector recoge esta corriente. La caracteristica de entrada se parece a 
una exponencial y las caracteristicas de salida son rectas casi paralelas al eje de abcisas. Es decir, para 
Vbe > VBE(on), Ib aumenta con Vbe- Para valores positives y constantes de Ib, Ic aumenta con Vce Y 



111 



ElectrOnica Digital 



mantiene una relacion sencilla con Is 

IC=PlB+JC0{P + l) 

siendo 

a 



P = 



1-a 



Rb Ib^ 



[2.36] 



[2.37] 




Figura2.19. Curvas caracteristicas y regiones de fimcionamiento en transistores bipolares en la configuracion 
de emisor-comun. (a) Circuito de medida. (b) Caracteristica de entrada con sus tres zonas. (c) 
Caracteristicas de salida, mostrando tambien las tres zonas. La linea de puntos muestra la relacion 
causal entre los valores de ambas caracteristicas. Un valor de Vqe produce uno de Ig- Este fija una 
caracteristica {Ig = cte.) en la salida, a donde hay que ir para ver la relacion en Iq y VcE- 

Las caracteristicas de entrada se parecen a las del diodo estudiadas en el apartado anterior ya 
que en defmitiva la union base-emisor de un transistor es una union P-N que en el modo active, 



112 



Tema 2: DisPOSiTivos Semiconductores en Corte y Saturaci6n 



cuando el transistor actiia como amplificador, esta polarizada en sentido directo. 

En efecto, recordemos la expresion de la corriente de colector en funcion de la de emisor, Ie y 
la corriente inversa de la union de colector {Ico) 

IC=alE+IC0 -^ lE= ^ ^^^ [2.38] 

La corriente de base sera: 

Ib=Ie-Ic= IC^^C [2 391 

IC=j^lB+j^ICO=filB+i/^ + iyCO [2.40] 

Este parametro ( /? ) es representativo de la ganancia en corriente del transistor y tiene un valor 
entre 150 y 500. Cuando se refiere solo al funcionamiento en continua se le suele Uamar hpE- 

Llega un momento al final de la zona activa en la que si seguimos aumentando la tension en la 
union base-emisor, el transistor entra en zona de saturacion. En las caracteristicas de entrada se 
alcanza para valores de Vqe del orden de 0,8 6 0,9 voltios, de modo que el intervalo de zona activa es 
pequeno (0,2 6 0,3 voltios), a partir de 0,6 (tension de despegue). En las caracteristicas de salida 
representa la region de la izquierda en la que Vqe = VcE (s<^0 ~ 0»2 voltios, de forma que ambas 
uniones estan polarizad as en sentido directo. Ahora el transistor ofrece una resistencia muy pequena. 

2.6. El Transistor Bipolar en Corte y Saturacion. 



Hasta ahora hemos visto el principio de funcionamiento del transistor bipolar y su 
comportamiento en condiciones estaticas a traves de un conjunto de modelos sencillos y de sus curvas 
caracteristicas. El siguiente paso es el estudio del comportamiento dinamico. Para ello se siguen dos 
pasos: 

a) Polarizar al transistor (eleccion del punto Q). 

b) Superponer al punto Q una serial externa variable con el tiempo, vjt), con dos situaciones de 
interes: 

b.l) La senal externa, Va(t), es pequena de forma que el transistor no sale nunca de zona activa. 

113 



ElectrOnica Digital 



Esta es la forma de trabajo propia de la electronica analogica y de la logica no saturada 
(familia ECL) en electronica digital. 

b.2) La serial externa, Va(t), toma uno de dos valores posibles y el salto es grande, de forma que 
puede Uevar al transistor de corte a saturacion y viceversa. El transistor actua como un 
conmutador inversor dando lugar a toda la logica saturada que domina la electronica 
digital. 

Vamos a ver primero como se polariza un transistor y despues estudiaremos su comportamiento 
dinamico, haciendo enfasis en la caracterizacion de los estados de corte y saturacion y en el calculo de 
los tiempos de conmutacion. 

Polarizar un transistor bipolar es elegir un punto de funcionamiento estatico (punto Q), con dos 
valores para Vceq e IcQ Y hacer que el transistor se sitiie en ese punto. Para ello se usan dos fuentes 
extemas y dos resistencias, RcJ RrJ resolvemos graficamente el sistema de ecuaciones de la malla 
de salida. Lafigura 2.20 muestra el esquema de polar izacion. Supongamos que en la entrada Vbb Y 
Rb permanecen constantes polarizando la union de emisor en zona activa con un cierto valor de 

Ib- Este valor de lB=cte fija una curva caracteristica de salida concreta, -'C -/V CE)ig=cte. En 
estas condiciones vamos a analizar la malla de salida. Mirando hacia el transistor, vemos una tension, 
VcE, y una corriente, Iq, que estan relacionadas por la curva caracteristica que hemos seleccionado al 
fijar/5 en la base. 

^C =/(f^C£)' para /fi =c?e [2.41] 

Por otro lado, mirando hacia la derecha vemos Re y la pila E, de forma que debe cumplirse 

VcE =E-IcRc (Recta de Carga) [2. 42 J 

Asi, el punto de funcionamiento estatico (0 es aquel que cumple ambas condiciones a la vez 
{[41], [42]). La solucion de este sistema de dos ecuaciones con dos incognitas se obtiene de forma 
grafica, encontrando la interseccion de la recta de carga, Vqe =E- Ic^C > ^^''^ ^^ curva caracteristica, 
/(^ = fiycE ) • Observese que el punto Q se puede controlar variando /g (a traves de Rb y Vbb en la 
entrada) o variando la recta de carga (a traves de £ y Rq en la salida). 

Si ya tenemos polarizado el transistor, veamos ahora su comportamiento dinamico (punto b. 1 y 
b.2). En el comportamiento para pequenas seiiales (b.l), al valor de polarizacion se superpone una 



114 



Tema 2: DisPOSiTivos Semiconductores en Corte y Saturaci6n 



senal externa Va(t) tal que \va(t)\ « \E\, como se ilustra en \afigura 2. 21. a. En este caso, la union de 
emisor nunca sale de zona activa y el transistor actiia como un amplificador lineal. Su estudio es 
propio de la electronica analogica y no vamos a desarrollarlo aqui. 




''s ^-. / _ E-Vce / / ^CEQ i E ^ VCE 

Re / 

^^^^Ic=f(VCEY Recta decarga 



Figura 2.20. Polarizacion del transistor bipolar 

Si ya tenemos polarizado el transistor, veamos ahora su comportamiento dinamico. En el 
comportamiento para pequefias seiiales, al valor de polarizacion se superpone una seiial externa Va(t) 
tal que \va(t)\ « l^l, como se ilustra en la figura 2.21.a. En este caso, la union de emisor nunca sale de 
zona activa y el transistor actua como un amplificador lineal. Su estudio es propio de la electronica 
analogica y no vamos a desarrollarlo aqui. 

Consideremos ahora la situacion de Xs. figura 2.21.b. En este caso el transistor actua como 
conmutador porque la tension externa Va(t) salta entre dos valores extremos (0 y +E, por ejemplo) que 
hacen que el punto Q recorra toda la zona activa pasando de corte a saturacion y viceversa. Decimos 
entonces que el transistor actua como un inversor que sintetiza la caracteristica de transferencia de la 
figura 2.1, tal como propusimos al comienzo del tema. 

El problema en este caso es caracterizar los estados estacionarios por una parte y estudiar 
despues los transitorios en la transicion entre estos estados. Lafigura 2.21.b ilustra el circuito minimo 
de un inversor que pasa de corte a saturacion dependiendo del estado de la senal en base. 



115 



Electr6nica Digital 



Va(t)S \ 



Rb 




V 



BB 



(a) 



v(t) = VBB+v/t) 




VCEQ ^^ VcE 



Saturacion \ 
.,-— Corte -' 




Ib^O y 



CEsat 




Vy VBEsat ^i 



^iEsat " ^- *^°"'°^ ^CEsat " 0,2voltios 



Figura 2.21. Comportamiento dinamico. (a) Pequenas seiiales. (b) Corte y saturacion: circuito inversor. 
Recordemos que la relacion entre las corrientes (ecuaciones [2.38] y [2.40]) era: 

Asi, hasta que la tension en la base no supere un valor umbral, Vyiv O.Svoltios, la union de 
emisor no conduce y el transistor esta al corte. En estas condiciones Ib = y la unica corriente que 
queda en el colector es: 



IC=(P + 1)IC0 =ICEO 



[2.43] 



Si la tension en base sigue aumentando, el transistor atraviesa la zona activa y entra en 
saturacion para VgE > 0.8F. A partir de este momento la tension de colector queda fijada en un valor 



116 



Tema 2: Disposmvos Semiconductores en Corte y SaturaciOn 



pequeno y constante VcEsat^^-^voltios. 

El valor de la corriente de saturacion depende de la resistencia de carga Re y del valor de la pila 
que hemes usado en polarizacion, E. Entonces, los dos estados estables en logica saturada son: 



Corte ^ 




Saturacion -< 


^ VcE=VcEsat^0.2V 



Para producir estos cambios de estado es necesario que la tension V^e pase desde un punto por 
debajo de 0,5Fhasta un punto por encima de 0,8V (figura 2. 2 Lb). 

Veamos ahora la caracterizacion de estos estados desde un punto de vista mas fisico, aplicando 
el modelo de Ebers-Moll, que vimos en Xa figura 2.18. 



2.6.1. Estado de Corte 



KT 



En esta situacion ambas uniones estan polarizadas en sentido inverse y para Vg^^ » y 

q 

!t/ I f^T 

VCb\ ^^ las exponenciales del modelo de Ebers-Moll (ecuaciones [33] y [34]) desaparecen 

quedando las expresiones simplificadas 

ie = -Irs + ccR ■ ics 

IC + -ap ■ IeS + ICS 

Como aji ■ Iqs = «F ■ I ES 

^E =-Ies{1-(^f) 

ic = -ics (^ - «/? ) 

Ib =Ie -^C =-lEs{i-(^F)-Jcs{i-aR) 



[2.44] 

[2.45] 
[2.46] 

[2.47] 
[2.48] 
[2.49] 



Para transistores de Silicio estas corrientes son practicamente despreciables, se encuentran en el 



117 



Electr6nica Digital 



rango de los nanoamperios, aunque son funcion de la temperatura pues se deben a la generacion 
termica de minoritarios. En estado de corte no hay inyeccion de portadores minoritarios en region de 
base, solo la extraccion de los generados termicamente. Las tensiones inversas que se pueden aplicar a 
ambas uniones estan limitadas por los fenomenos de ruptura por avalancha. En cuanto a la carga, la 
almacenada en la zona neutra de base es despreciable, pero no asi la almacenada en las capacidades de 
transicion de las uniones de emisor y colector, que son las responsables del retardo en la conmutacion. 

La figura 2.22 muestra el modelo de Ebers-Moll simplificado para el estado de corte y la 
distribucion de carga en las proximidades de las zonas de transicion. Observese que todas las 
concentraciones estan por debajo de sus valores de equilibrio y que en la zona neutra hay poca carga 
almacenada {Qg)- 



(a) 



'no- 



\Jb)_ 



Ies(^-'^f) 



-t<II> 



E(N) 



B 






B 


(P) 




Ppo 


,'Qb 


"po 



c 



C(N) 



W X, 



Figura 2.22. Estado de corte (a) Version simplificada del modelo de Ebers-Moll. (b) Concentraciones y carga 
en las proximidades de las zonas de transicion. 

2.6.2. Estado de Saturacion 

Al polarizar las uniones fuertemente en sentido directo se pone en marcha una serie de procesos 
transitorios que hacen la transicion del estado OFF al ON. El punto Q atraviesa rapidamente la zona 
activa y entra en saturacion donde se fija en un nuevo estado estacionario. De nuevo los valores de las 



118 



Tema 2: DisposiTivos Semiconductores en Corte y Saturaci6n 



tensiones base-emisor y colector-base son altos 



V, 



EB 



» 



KT 



'CB 



» 



9 J 



, pero ahora son 



ambas positivas (en PNP) V£:> Vq y Vc> Vb y ambas negativas en NPN. 



El transistor ofrece una resistencia muy pequena (tanto en zona de transicion como en regiones 
neutras). Lafigura 2.23 muestra los excesos de concentraciones haciendo enfasis en la zona neutra de 
base y suponiendo que la polarizacion directa de la zona de emisor es mas fuerte que la de colector. 
Por eso n'p(O) > n'p(W). Ahora la carga almacenada, Qs, es grande. 



n'p{w)^n^Xe^-'cBlKT_^]^ 



[2.50] 
[2.51] 




Figura 2.23. Estado de saturacion. Valor de las concentraciones de carga en exceso en las proximidades de las 
zonas de transicion. Ahora no introducimos la version correspondiente del modelo de Ebers-Moll 
porque coincide con la general. 

Aplicando de nuevo el modelo de Ebers-Moll obtenemos el valor de las tensiones en saturacion 
en funcion de las corrientes terminales. Para ello reescribimos las ecuaciones [2.33] y [2.34], 
quitando el uno en los parentesis, ya que ahora, al estar ambas uniones polarizadas fuertemente en 
sentido directo, el termino exponencial es dominante y las componentes de corriente inversa {-Ies^ - 
Ics) son despreciables 



Ie =/£5 -e^^^^/^^ -OCR Ics ■e'^^CB/KT 
IC -ap lES ■e'^^EB/KT _j^^^qVcB/KT 



[2.52] 
[2.53] 



119 



Electr6nica Digital 



Multiplicando la ecuacion [2.53] por a/j y restandola de [2.52] obtenemos: 

JE-aRlc={l-aRaf)- Ies ■ e^^^* '^'^ f2.54] 

Despejando /£ resulta 

/£=a;j-/c+(i-a^-a^)-/£^-e^^^«/^^ [2.55] 

luego Ij;=aj,-Ic+ Ieo ■ ^'''''"'^ [2-56] 

Analogamente, multiplicando la ecuacion [2.52] por af, restandola de la ecuacion [2.53] y 
despejando Ic, obtenemos: 

Ic =o.p-Ie -{}.-ap-ap.)-Ics ■e'^^CBlKT ^^^^^ 

i(j-ap-j£ ico^ [2.58] 

Con esto ya tenemos los valores de la corriente de emisor, /g, y de colector en tenninos de las 
tensiones base-emisor y colector-base. Como lo que buscamos es la expresion del valor de la tension 
colector-emisor en saturacion vamos a despejar Vg£ de [2.56] y Vqb de [2.58] obtenemos: 

[2.59] 



Vbe 


KT 
<1 


In 


h- 


ho 


■Ic 


VCB 


KT 


In 


ap 


■h- 

T 


-Ic 



[2.60] 
H ^CO 

Sustituyendo ahora Ig por su valor en funcion de /g e Ic ilE~^B~^^c) s" l^s ecuaciones [2.59] y 
[2.60] resulta: 

^ 'CO <J ico 

y, fmalmente, restando las expresiones de la tension base-emisor y de la tension colector-base, 
obtenemos la tension de colector-emisor en saturacion 



120 



Tema2: Dispositivos Semiconductores en Corte y Saturaci6n 



VCE 



sat 



'- ^CB - VbE = in 



KT 



In 



af Ib 



1-af Iq 






{l - af )Ieo 



Ib+1c{i-'^r) 



ico 



lB_ 



[l-aR) 



Vce\ 



!^jJJ-"f)ieo ^^ Ic 



Ic 



^sat . J 

— -rl-UR 

[2.63] 

En resumen, en saturacion ambas uniones estan polarizadas en directa, todas las tensiones entre 
los terminales son pequenas y las corrientes estan limitadas por las resistencias y las fuentes de 

alimentacion extemas. La expresion [2.63] permite el calculo de ^C^l^^^ y su dependencia con la 

temperatura, punto de funcionamiento y parametros del transistor a traves de a^ y ap. 

2.6.3. Transiciones entre Estados 

En condiciones normales de operacion los parametros criticos en conmutacion son justo los 
transitorios del paso de corte a saturacion y viceversa y los tiempos de retardo que introducen. Estos 
retardos se deben, basicamente, a la necesidad de mover las cargas almacenadas en la zona neutra de 
base y en las zonas de transicion. 

Consideremos un transistor NPN en configuracion de emisor comiin que inicialmente esta al 
corte y al que le aplicamos en la base un pulso de senal que le obliga a recorrer un ciclo completo: 
corte-saturacion-corte. La figura 2.24, muestra primero el circuito, despues la distribucion de carga 
en la zona neutra de base, entre las uniones de emisor y colector. 

Finalmente, en la parte inferior de la figura se muestra la evolucion temporal de los valores de 
tension de entrada, carga almacenada, valor aproximado de la corriente de colector, valor mas 
proximo al real en el que se acota una zona de subida lineal y otra de bajada y, finalmente, tension de 
salida, que coincide con la tension colector-emisor y que es una version invertida y retardada del 
pulso de entrada. 



121 



Electr6nica Digital 




E(N) 



2volts 








Q^t) 



X I 
B Bl 



QbS Qssat 

ic(t)L 



icO). 



C{ Vi 1 



OJIsat 

Vo(t)=VceO)i 

E 

0,2V 



t=ff 



t=0 






t 






to -)'- 



^ -vf 



conduce 



ion -tQj^ 



-+-f^ 



C(N) 



-►f 






-►/ 



■f 



cort'p 'T^OFF 



Figura 2.24. Transiciones entre estados. Ciclo corte-saturacion-corte. (Ver descripcion en el texto). 



122 



Los distintos tiempos que caracterizan los transitorios son: 



Tema 2: DisPOSiTivos Semiconductores en Corte y SaturaciOn 



t^ ^ Tiempo de retardo: es el tiempo que transcurre desde t=0 (comienzo de la excitacion) 
hasta que se inicia la respuesta. 

t^ =^ Tiempo de subida: es el tiempo desde que responde hasta que Iq = 0,9I(j^^i. 

tg => Tiempo de almacenamiento: desde que comienza la excitacion de paso al corte hasta 
que inicia la disminucion de Iq. 

tf => Tiempo de caida: es el tiempo que transcurre desde el final de t^ hasta que lc=0, Hcsat- 

Para t= Or, vi(t) = V2 < 0, y e\ transistor esta en estado de corte, ambas uniones estan 
polarizadas en inversa por lo que las zonas de transicion son anchas y en la zona neutra de base existe 
un defecto de portadores minoritarios, (figura 2. 25. a). 

En t = 0, aplicamos un pulso a la base. Es decir, Vi(t) pasa de valer V2<0aVj > 0, con 
lo que el transistor pasara a zona activa y si Vj tiene un valor tal que la union base-colector pase a 
estar polarizada en directa, el transistor llegara a la zona de saturacion. Cuando el transistor esta 
saturado ambas uniones estan polarizadas en directa por lo que las zonas de transicion seran mas 
estrechas y en la zona neutra de base existira un exceso de minoritarios, n'p(x), por encima del valor 
de equilibrio, ripO (figura 2.25.b). 

Por tanto para que el transistor pase de corte a saturacion se la debera suministrar a la base la 
carga suficiente para neutralizar. las cargas ionicas existentes en las zonas de transicion de ambas 
uniones y para establecer en la region neutra de base dicho exceso de cargas, n'p(x), suficiente para 
soportar la demanda de corriente del estado de saturacion, Icsat- 

En / = ti, Vi(t) pasa de valer Fy > a valer V2 < 0, con lo que el transistor pasara del estado de 
saturacion al de corte, y por tanto ahora habra que extraer el exceso de minoritarios en la zona neutra 
de base (Qs+Qbs) V las zonas de transicion de las uniones se ensancharan de nuevo puesto que 
pasaran a estar ambas polarizadas en inversa. Mientras se extrae Qs, la corriente de colector 
permanece constante e igual a Icsat, la recta n'p(x) se desplaza hacia abajo paralela a si misma hasta 
que n'p(W) = 0, que corresponde a Qs = 0, figura 2.25.d. Este tiempo desde que se empieza a extraer 
Qs hasta que se anula se le llama tiempo de almacenamiento (ts). A partir de este instante el transistor 
pasa a estar en zona activa y camina hacia zona de corte, para lo cual se debera extraer Qbs- Ahora la 
corriente de colector no permanece constante sino que ira disminuyendo progresivamente (figura 



123 



Electr6nica Digital 



2.25.d). Ademas, en las zonas de transicion habra una extraccion de la carga movil quedando de 
nuevo una zona de carga ionica fija mas ancha, como corresponde a una union polarizada en in versa. 



Inversa 



CORTE 



Inversa 




SATURACION 

Directa Directa 



ripO 



n'p(x) 



W 




Figura 2.25. Ilustracion del cambio en la zona neutra y en la carga almacenada durante los estados de corte y 
saturacion. (a) Corte. (b) Saturacion. (c) Extraccion de la carga para salir de saturacion. (d) Paso 
de zona activa hacia el corte. 

El tiempo que transcurre desde que se anula Qs hasta que desaparece Qbs y el dispositive pasa 
a corte es el tiempo de caida. La suma de ambos tiempos, de almacenamiento y de caida, se conoce 
como tiempo de corte, {ts+tj). Para estos procesos la corriente de base es la encargada de aportar los 



124 



Tema 2: DisPOSiTivos Semiconductores en Corte y SaturaciOn 



portadores necesarios, a la vez que compensar la parte de carga que se pierde por recombinacion. Para 
el analisis de los transitorios es conveniente recordar que el proceso es analogo al que estudiamos en 
los diodos de union P-N (apartados 2.4.1 y 2.4.2). De igual forma que alii, aqui tenemos tambien tres 
altemativas metodologicas que corresponden a tres grados de aproximacion diferentes: 

1. Ecuacion de difusion. 

2. Modelo de control por cargas. 

3. Circuito equivalente. 

No vamos a desarroUar aqui de forma completa ninguno de los tres metodos porque su 
complejidad analitica los deja fuera del alcance de este curso. Nos vamos a conformar con el estudio 
cualitativo que acabamos de presentar y con un resumen de los resultados obtenidos al aplicar el 
modelo de control por cargas de forma analoga a como hicimos en el caso de la union P-N, 
distinguiendo entre zona neutra de base y zonas de transicion. 

a) Zona neutra. 

Recordemos que los modelos de control por carga estudian los transitorios de conmutacion en 
diodos y transistores a traves de la evolucion temporal de la carga almacenada en la estructura. Para 
situaciones estacionarias (dQ/dt = 0) podemos reescribir la expresion [2.1 8J para la zona neutra de 
base: 

Ob 

[2.64] 

[2.65] 

siendo y?/r=^ [2,66] 

Veamos ahora la relacion entre la tension y la carga. El exceso de carga en la zona neutra puede 
aproximarse por un triangulo de base Wy altura n'p(O), suponiendo que n'p(W) es cero {Qb = Qbs)- O 
bien, cuando ambas uniones estan muy polarizadas en directa y no podemos despreciar n'p(W), la 
carga sera el area de un rectangulo mas la de un triangulo, tal como se ilustra en la figura 
2.26, {Qb = Qbs + Qs)- En el primer caso tendremos: 



fc- 


_Qb 

^7 


IB- 


Qb 

^2 


ic- 


--f^FlB^ 



125 



Electr6nica Digital 



QB-qA^Wn'hio) [2.67] 
Como n 'i, {O) = n[,o [e'^'^BElKT _ ^ j 

tenemos que 



QB=^^n,o[e^^BE/KT^j 



[2.68] 
[2.69] 



CasoB ^n'p(O) 



Caso A=> n'p(O) 



Base (P) 




Caso A: Q^=Q^^^ -W-n'p(0)-(qA) 



n'p(W) 



n'(W) 



CasoB 



Caso A 



Caso B: Q^ =0,^ + Q^ J ^ BS 



'B ^55 



jW-n'p(0)-(qA) 



iQs = W-n'p(W)-(qA) 



Figura 2.26. Calculo sencillo y aproximado de la carga almacenada en la zona neutra de base. En el caso A, la 
union de emisor esta muy polarizada en sentido directo y la de colector muy poco, por eso 
despreciamos n'p(W). En el caso B, ambas uniones estan muy polarizadas en sentido directo, 
n'p(W) no es despreciable y hay mas carga almacenada 

Hasta ahora hemes analizado el problema en condiciones estaticas, sin embargo nosotros 
estamos interesados en las condiciones dinamicas, es decir en conseguir las expresiones de los valores 
instantaneos de las corrientes en funcion del tiempo [ic(t), ib(^)] • Para ello vamos a suponer que las 
velocidades de variacion de las tensiones aplicadas entre pares de terminales y de las intensidades de 
las corrientes son lo suficientemente pequefias como para que la distribucion de carga en la region de 
base varie de manera que de una sucesion de distribuciones estaticas, o sea, consideramos las 



126 



Tema 2: DisposiTivos Semiconductores en Corte y Saturaci6n 



condiciones dindmicas como una sucesion de estados de equilibrio. Por tanto podemos suponer que la 
distribucion instantanea del exceso de portadores en la zona neutra de base varia de manera que pueda 
considerarse como una sucesion de distribuciones estacionarias (que seguiremos suponiendo 
distribuciones triangulares) de forma que la intensidad instantanea de colector es proporcional al valor 
en ese instante del exceso de carga. 

U [2.70] 

Veamos ahora Ib- El punto central del razonamiento para poder relacionar la intensidad 
instantanea de base con el valor en ese instante del exceso de carga en la base es recordar que la base 
es electricamente neutra y que los mayoritarios que se necesitan para neutralizar el exceso de 
minoritarios solo los puede suministrar ig. Por tanto, la carga de la base Qb, solo estara controlada por 
is que se encarga de reponer perdidas por recombinacion {Qb/t:!) y aumentar o disminuir el exceso 
(dQs/dt). La ecuacion de conservacion de portadores mayoritarios en la base en condiciones 
dinamicas es entonces, 

dQB ^ Qb 
'^=^— — [2.71] 

Finalmente la corriente de emisor sera: 



^Qb .Qb^Qb 

^2 ^7 



iE = iB + iC = —^ + 77" + -;r7 [2. 72] 



La tension instantanea emisor-base (v^^) estara relacionada con la carga instantanea de igual 
forma que antes, (ecuacion [2.69]) ya que es una consecuencia directa de la naturaleza triangular de la 
distribucion. En resumen, el modelo de control por carga, nos dice que: 

1. La intensidad instantanea en colector, ic(t), esta gobemada por el valor instantaneo del exceso 
de minoritarios en base, Qb. 

2. Este exceso se neutraliza por otro igual de mayoritarios que esta gobemado solo por Ib- 

3. Las ecuaciones que describen el comportamiento son [2. 70], [2. 71], [2. 72] y [2. 69]. 
b) Zona de transicion. 

Cuando el transistor pasa de corte o saturacion a conduccion o corte la anchura de las zonas de 



127 



Electr6nica Digital 



transicion disminuyen o aumentan, por tanto la corriente de base no solo debe suministrar portadores 
para mantener una ic, sino que ademas debe ajustar la carga asociada a las regiones de transicion, 
para dar cuenta de la disminucion o aumento de su anchura. El almacenamiento de carga en una y otra 
mitad de la capa dipolar en la union de emisor-base es una funcion de v^e, que rige la 
anchura de la capa de carga espacial. Describimos esta carga por qvE, que es la diferencia entre la 
carga correspondiente a un valor de veb cualquiera y el valor de equilibrio. Asi, qvE ^ para 
veb = (Veb = c/e.)> y IVE^ para polarizacion directa, es decir que qyE es la carga que tiene que 
aportar la zona neutra de emisor, que coincide con la que tiene que aportar la zona neutra de base al 
interior de los dos lados de la zona de carga espacial para neutralizarla en parte y hacer que esta 
disminuya. 

De igual forma podemos definir la carga qyc correspondiente a la union de colector. Es decir, a 
un incremento de vcb 'e corresponde un incremento de qycY por tanto una aportacion de portadores 
mayoritarios hacia el interior de los lados de la zona de transicion de la union de colector 
(figura 2.27). 



2h> ^ 





Figura 2.27. Movimiento de cargas en las zonas de transicion. 

Por tanto si anadimos estas corrientes de cargas de las zonas de transicion a las corrientes 
asociadas a las zonas neutras tenemos: 



'C 



(0 = 



Qb dqyc 



^J 



dt 



[2.73] 



128 



Tema 2: Disposmvos Semiconductores en Corte y Saturaci6n 



■C2 dt dt dt 



T] Z2 dt dt 



[2.74] 



[2.75] 



A veces nos puede interesar expresar dqvE/dt y dqyc/dt en funcion de las capacidades de 
transicion, para ello como la variacion de estas cargas es un proceso no lineal lo tratamos en tenninos 
de una capacidad media. La capacidad de transicion varia con la tension aplicada de la forma que se 
muestra en lafigura 2.28. 



Asi podemos poner: 



t; ^^ dt 



T2 dt dt dt 



[2.76] 



[2.77] 




Tension 
Aplicada 



Figura 2.28. Variacion de la capacidad de transicion con el potencial. 

El siguiente paso seria representar el transistor por un circuito equivalente que ponga de 
manifiesto su comportamiento en conmutacion segiin este modelo de control por cargas, es decir 
tendriamos que obtener un circuito que verificase las ecuaciones [2. 73], [2. 74] y [2. 75] y sobre el 



129 



ElectrOnica Digital 



calcular los tiempos de subida, retardo, almacenamiento y bajada. Su desarrollo queda de nuevo fuera 
de la extension que queremos darle a este apartado y puede encontrarse, entre otros muchos sitios, en 
el texto "Electronica Analogica Lineal" editado por la UNED. 

2.7. ESTRUCTURA MIS 

Hasta ahora hemos estudiado solo dispositivos bipolares (diodos de union P-N y transistores 
bipolares), llamados asi porque en el transporte controlado de carga intervenian los dos tipos de 
portadores, electrones y huecos. Una parte muy importante de la Electronica Digital se basa sin 
embargo en los transistores de efecto campo cuyo principio de funcionamiento es el control por un 
campo extemo (a traves de un terminal de puerta, G) de la conductividad de un canal de carga movil 
que enlaza dos electrodos extemos (fuente, S y drenador, D) con la polarizacion adecuada. 

Hay esencialmente dos tipos de transistores de efecto campo (FET) 

^ JFET (FET de union P-N) 

^ MOSFET (FET Metal-Oxido-Semiconductor) 

El JFET fue ideado por Schockley en 1952 y realizado por Dacey y Ross en 1955 y no sera 
estudiado aqui porque esta dirigido esencialmente al campo de la Electronica Analogica. A pesar de 
ser unipolar, el JFET es un dispositivo "de volumen", es decir los procesos importantes ocurren en el 
volumen del semiconductor ya que el canal se crea mediante dos uniones P-N polarizadas en inversa. 

En cambio, el transistor MOS es un dispositivo de superficie, en el que la conduccion se realiza 
en un canal muy proximo a la superficie del semiconductor. Hasta ahora siempre habiamos estudiado 
a los semiconductores como cristales perfectos e infinitos. Las linicas imperfecciones eran los atomos 
de elementos de los grupos HI (Boro, Aluminio) y del grupo V (Fosforo,...) que usabamos en 
pequenisima proporcion para impurificar al semiconductor intrinseco (Silicio, Arseniuro de Galio) y 
pasarlo a tipo P (con conduccion dominada por huecos) 6 a tipo N (con conduccion dominada por 
electrones). Ahora en cambio vamos a estudiar un dispositivo asociado al caracter finito del cristal 
que donde acaba (su superficie) rompe la periodicidad de la red cristalina. Esa ruptura de la 
periodicidad introduce nuevos estados electronicos permitidos y con ellos, al ionizarse, una barrera de 
potencial. Veremos enseguida que esa barrera da origen a las estructuras MIS (Metal-Insulator- 
Semiconductor) y a los transistores MOS (Metal-Oxido-Semiconductor) que son una yuxtaposicion de 



130 



Tema2: Dispositivos Semiconductores en Corte y SaturaciOn 



estructuras MIS. 

Es un hecho experimental que en la superficie de un semiconductor real aparece una barrera de 
potencial asociada a cierta distribucion de carga espacial inmovil. Esta barrera puede ser producida 
per: 

1) Aplicacion de un campo extemo. 

2) Contacto con otro material de distinto potencial de contacto. 

3) Existencia de estados superficiales con energias, Et, en la region que antes era de energias 
prohibidas, debidos a la ruptura de la periodicidad del cristal o a impurezas. De las tres causas 
posibles, Bardeen demostro que la dominante era la tercera. Estos estados superficiales pueden 
tener una energia Ef, proxima a la banda de Valencia (^v) y seran por tanto estados aceptores. 
En cambio, si Et esta proximo a la banda de conduccion {Ec), seran estados dadores. 

Decir que un estado superficial es dador o aceptor es fijar el signo de la carga ionica que va a 
generar y, por consiguiente, el signo de la barrera de potencial en la superficie en relacion con el 
potencial en el volumen. Asi, si pudieramos realizar un experimento ficticio consistente en introducir 
un conjunto de estados neutros, a temperatura ambiente se ionizarian rapidamente cargandose 
negativamente los aceptores (ban aceptado un electron) y positivamente los dadores (ban dado un 
electron y quedan con una carga positiva en exceso). 

Sea cual fuere la contribucion de cada una de las tres causas, en una estructura MIS aparece el 
efecto de su superposicion como una carga neta inmovil en la superficie que produce una barrera de 
potencial, tal como la que se ilustra en la figura 2.29.a. La estructura MIS se muestra en \afigura 
2.29.b donde d es el ancho de la capa de aislante (Si02, por ejemplo) y F es el potencial aplicado, 
positive cuando el metal queda polarizado positivamente respecto al contacto ohmico y negativo en 
caso contrario. 

Supongamos que inicialmente el potencial en la superficie es nulo, Vg = y apliquemos una 
tension de polarizacion externa positiva o negativa. Podemos encontramos entonces con alguna de las 
tres situaciones de \a figura 2.30, (a) Acumulacion, (b) Vaciamiento y (c) Inversion. 

Acumulacion. Decimos que tenemos xma situacion de acumulacion en la superficie de un 
semiconductor tipo N cuando la concentracion de electrones es mayor en la superficie que en el 
volumen. Esta situacion puede estar producida por la aplicacion de un campo extemo, F(p > 0, 6 por 



131 



Electr6nica Digital 



la existencia de estados superficiales dadores. En ambos casos, el aspecto de la barrera de potencial en 
las proximidades de la superficie es el de lafigura 2. 30. a. 




Metal--., ^G^O 

* 1 



Superficie 



T Volumen 
Superficie A|J 




Volumen 



Contacto ohmico —''' 



(b) 



flgura. 2.29. Barrera de potencial en una estructura MIS. (a) Barrera. (b) Estructura MIS sobre im 
semiconductor tipo N. 

Vaciamiento e inversion. Inversamente al caso anterior decimos que existe una situacion de 
vaciamiento o inversion cuando la concentracion de portadores mayoritarios en las proximidades de la 
superficie es inferior a la del volumen. Logicamente, la concentracion de minoritarios aumentara para 
mantener la neutralidad electrica. 

Esta situacion puede estar producida por la aplicacion de un campo extemo (F < 0), por la 
presencia de estados superficiales aceptores o por una combinacion de ambos efectos. Las figuras 
2.30.b y c muestran la evolucion del potencial en las proximidades de la superficie. En 2.30.b se 
muestra una situacion de vaciamiento, pero si seguimos aumentando el campo extemo puede 
presentarse una situacion de inversion, Uamada asi porque en la superficie aparecen como 
mayoritarios aquellos portadores que en el volumen son minoritarios. Esto ocurre para un cierto valor 
de F(negativo para semiconductores tipo N y positivo para tipo P). 

En la. figura 2.30 vemos como las condiciones de acumulacion, vaciamiento e inversion para 
semiconductores tipo P y N solo dependen del valor del potencial en la superficie, V(x=0) = Fj. 



132 



Tema 2: DisposiTivos Semiconductores en Corte y Saturaci6n 



Semiconductor tipo 1 


t 


Semiconductor tlpo N 




, - 1 




SITUACION INTRINSECA 




\Vs\ = \V(^ (Valor Umbral) 


\Vs\ = \Vd\ 


(Valor Umbral) 












ACUMULACION 






lEnergias, E 






.E 




V_^ 


^-"""'^ ^ 




-qVs >0 ^ Vs<0 (a) " 


qVs<0 ^ Vs>0 




1 






VACIAMIENTO 




-l^sl 


^E 




-9^51 


.E 


-- T fmhrnl 


/-" HVb ^ 


4 


T 


rnl 


^^^ \-qVb 


~~-- Umh 


-qVs<0 => s>0 (I 


y) 


-qVs>0 ^ Vs<0 




1 1 

INVERSION 


E 

^,-- Canal 


— r 

■f 


.E 


— -► 


si 

I.- 


/-^ 'rqV^ 


V '^ 


f Canal 


..>^^^^..^„. 


-qVs<0 ^ 


Vs 


>0 


(i 


>0 ^ Vs<0 



Figura 2.30. Condiciones de acumulacion, vaciamiento e inversion en estructuras MIS sobre semiconductores 
tipo P y N. El potencial, Vs, lo marca la tension externa, Vq. (a) Acumulacioa (b) Vaciamiento. 
(c) Inversion. 



133 



Electr6nica Digital 



La figura 2.31 muestra la relacion entre el potencial en la superficie que da lugar a las 
situaciones de acumulacion, vaciamiento o inversion y el valor de la carga tanto en la region de carga 
espacial ionica (inmovil) como en el canal de carga movil. Su obtencion a partir de la ecuacion de 
Poisson queda fuera del alcance de este curso. Su significado es, sin embargo, accesible sin la 
analitica que lo soporta. Los datos proceden de un semiconductor tipo P impurificado con una 
densidad de atomos aceptores, Nyi=4I0^^ cnt'^ y operando a temperatura ambiente. Vs es el potencial 
en la superficie, V}, el valor umbral de referencia que marca el potencial que existiria en un 
semiconductor intrinseco, Q^ es la carga y (Fla fimcion que la relaciona con el potencial. 




Banda Plana 



Silicic tipo P 

300 °K 

Ar^ = 4-1015 cm-3 



1 ' r 

0'8 1 V„ (voltios) 



Figura 2.31. Variacion de la carga con el potencial mostrando como se pasa desde acxunulacion a inversion. 



134 



Tema 2: DisPOSiTivos Semiconductores en Corte y SaturaciOn 



Para Fj<0, la carga es positiva y estamos en condiciones de acumulacion. Aqui Tpuede 
aproximarse por una exponencial decreciente. Al seguir recorriendo la curva de izquierda a derecha 
encontramos la condicion de banda plana, ^^=0 y Qs=0. Posteriormente, < F^ < Vb, entramos en la 
zona de vaciamiento con Qs<0. Finalmente para Vs»Vb entramos en zona de inversion en la que la 
funcion (Festa dominada por un termino exponencial. 

Suele considerarse, por elegir un valor comodo, que la zona de fuerte inversion comienza 
cuando el potencial en la superficie es el doble del umbral de referencia 



' s mv 



^2Vb [2.78] 



Como Vh depende de la concentracion de impurezas, a traves de esta concentracion tenemos el 
control de las condiciones de inversion en un semiconductor extrinseco. 

Un amplio rango de aplicaciones en electronica digital de los transistores MOS y las estructuras 
MIS que les dan origen es consecuencia de el alto grado de aislamiento en tomo a una capacidad de 
forma tal que podemos almacenar un paquete de carga de forma controlada. Dependiendo del valor de 
este paquete de carga diremos que la estructura almacena un cero o un uno. Esta funcion de memoria 
con dos estados distinguibles mantenidos de forma casi permanente es fisicamente posible gracias al 
aislamiento inherente a las estructuras MIS que les permite almacenar carga en la superficie {Qs) y en 
el oxido {Qox), de forma que un trocito de una estructura MIS puede considerarse electricamente 
como la combinacion en serie de dos capacidades, Q y Cqx, tal como se ilustra en lafigura 2.32, 
dando lugar a una capacidad total, 



C C 

c = ^* 



(^^v ' ^-' c 



[2.79] 



Veremos despues al hablar de estructuras FAMOS en el tema 7 la importancia que tiene esta 
expresion para acomodar los procesos de lectura y escritura en una celda de memoria mediante 
procedimientos electricos (memorias EEPROM) 

La expresion de Q puede obtenerse a partir de Qs y la del oxido es simplemente, Cqx = Sox^d, 
siendo Sqx la constante dielectrica y d la profundidad de la capa. No nos interesa sin embargo el 
desarrollo analitico sino el hecho conceptual de la aparicion de esta capacidad en la estructura MIS. 



135 



ElectrOnica Digital 



V 



Fox I 



A 
I 



^.i 





■**■ ^ox 


/ 


i Cs 







Figura 2.32. Capacidad de la estructura MIS. 

2.8. Transistores MOSFET. 

Se les llama transistores de puerta aislada (Insulated Gate Field Effect Transistor, IGFET) 6 
MOS (haciendo referenda a su estructura fisica: Metal-Oxido-Semiconductor). El efecto amplificador 
del MOS esta basado en el control de la conductividad de un canal superficial (control de su densidad 
de carga movil), que conecta los terminales de drenador y fuente mediante el campo electrico 
transversal creado por el potencial del terminal de puerta. Este terminal esta aislado electricamente de 
la fuente y del drenador por una capa de Si02. 

En funcion de la polaridad del canal hay dos tipos de MOS: de canal N y de canal P. En cada 
caso, segiin el modo de operacion, podemos distinguir dos tipos: 

MOS de vaciamiento (depletion) 

MOS de realce (enhancement) 

Este dispositivo es especialmente importante debido a la sencillez de su estructura fisica (lo que 
permite una alta densidad de empaquetamiento para integracion en gran escala LSI y VLSI), a su alta 
impedancia de entrada, bajo consumo (en especial la familia C-MOS) y a su facilidad de aislamiento. 
Los microprocesadores, las memorias EPROM, RAM, FIFO y CAM y toda la electronica digital de 
alta densidad estan dominados por la tecnologia MOS. 

Consideremos primero las caracteristicas del MOSFET tipo P (realce) y canal largo. Es decir, 
con L»(Ws+W£)), siendo L la longitud del canal y W los anchos de las zonas de transicion de las 



136 



Tema 2: DisPOSiTivos Semiconductores en Corte y SaturaciOn 



uniones de drenador y fuente. Esto nos servira de base para el estudio de los MOSFET de canal corto, 
L< (Ws+Wd) y otros dispositivos analogos necesarios para pasar la frontera de la VLSI. 

Un transistor MOS se puede considerar como una yuxtaposicion de diodos MIS cuyos 
parametros geometricos y tension de polarizacion varian gradualmente entre los terminales de fuente 
y drenador. La figura 2.33 ilustra la estructura fisica ideal de un MOSFET de canal N. Se parte de un 
sustrato de silicic tipo P en el que per los metodos clasicos de la tecnologia planar (mascaras, 
ventanas, difusion, etc..) se hacen crecer dos regiones N+ que constituiran los terminales de drenador 
y fuente. Posteriormente, sobre la capa de oxido de silicio (Si02) se deposita una capa metalica de 
aluminio o silicio policristalino que formara el electrodo de puerta. 

Vamos a describir el funcionamiento del dispositivo en modo de realce, es decir, cuando no hay 
polarizacion en la puerta (Vqs = 0) no hay canal, de manera que partimos de conductividad nula entre 
drenador y fuente (Ij) = 0). La unica corriente que puede pasar en estas condiciones, si la tension de 
drenador es elevada es la corriente inversa de uno de los diodo N+P que aparecen en oposicion entre 
drenador y fuente. 

Al aplicar un potencial al terminal de puerta {Vg> 0) e ir aumentandolo progresivamente, para 
un cierto valor (Vg > Vj) se crea un canal de inversion entre las dos regiones N+: asi drenador y 
fuente quedan conectados por un canal superficial, tipo N, de alta conductividad (canal de inversion) 
cuyo valor aumenta con el potencial de puerta hasta un cierto valor maximo en condiciones de 
saturacion. Tras crearse la situacion de inversion, la capa ionica y el canal protegen al volumen 
semiconductor de posteriores penetraciones del campo (efecto "espejo"). Los posteriores incrementos 
de la tension de puerta se absorben en la capa de inversion, aumentando la densidad de carga libre. 

Veamos ahora cualitativamente como influye la tension de drenador, Vo, en cada "loncha" de 
estructura MIS situada en la coordenada y, entre la fuente (y=0) y el drenador iy=L). Al aplicar un 
potencial positive, (Fg>0), en el terminal de puerta se repiten los mismos fenomenos estudiados en el 
diodo MIS, pasando por situaciones sucesivas de vaciamiento, inversion y fuerte inversion, a medida 
que aumentamos el valor de Vg- Siempre que Vq supere a Vf, es decir, siempre que la tension de 
puerta sea suficiente para (descontadas las caidas en el oxido, estados superficiales y diferencias de 
potencial de contacto) que quede sobre la superficie un potencial mayor o igual a 2F^ tendremos 
inversion. Esto es lo que ocurria en la estructura MIS y lo que ocurre en el terminal de fuente del 
MOS. 



137 



Electr6nica Digital 



Fuente Puerto Drenador 

Vn>0 r, Q Vr,>0 



(a) 




AE>0 Piano y=cte. 
Al Si02 Si (tipo P) 

X, (y) Wrr. 




— Carga ionica: Qafy) 



— Carga movil: Qn(y) 



Figura 2.33. Transistor MOS de canal N. (a) Estructura fisica. fb) Forma del potencial en las proximidades de 
la superficie para nn piano y=cte. situado en un punto intermedio entre fuente (S) y drenador (D). 
Se muestra tambien la distribucion de carga en la zona de transicion y en la capa de inversion. 



138 



Tema2: Dispositivos Semiconductores en Corte y Saturaci6n 



Ahora bien, al aplicar un potencial positivo en el drenador, F/)>0, hacen falta valores mayores 
de Vg para producir inversion. El potencial necesario para producir inversion ha aumentado y es 
funcion de la posicion en el canal. 



^s {inv)\y =2-Vb+ V(y), con v{o) = y v{l) = V^ 



[2.80] 



Es decir, para producir inversion cerca de la fuente basta con Vs = 2Vb (o lo que es equivalente, 
Vg >Vt= Qs/Cqx)- En cambio, para producir inversion en el terminal de drenador necesitamos un 
potencial en la superficie, 

VsiL) = 2Vb+VD 



[2.81] 



lo que es equivalente 

Vq>Vt =-^ + 2Vi,+Vd 



C. 



ox 



[2.82] 



El canal se crea antes en la union de fuente que en la de drenador. Inversamente, si una vez 
creado el canal se aumenta Vq 6 se disminuye Vg, el canal empezara a estrangularse antes en las 
proximidades del drenador, donde V(y) es maxima e igual a Vj). La. figura 2.34 muestra un resumen 
grafico del comportamiento estatico del transistor MOS. En vez de dibujar las curvas del potencial 
hemos dibujado las correspondientes a la energia (E=qV) 



Vj)>0 




y = 
Terminal de Fuente 



y=L 
Terminal de Drenador 



Figura 2.34. Evolucion del potencial, V(y), y la energia, E=q- V(y), a lo largo del canal entre fiiente y drenador. 



139 



Electr6nica Digital 



2.9 CURVAS Caracteristicas, Regiones de Funcionamiento y 
MoDELo Elemental del Transistor MOS-FET 

Hemos visto el principio de funcionamiento del transistor MOS. El siguiente paso es obtener 
sus curvas caracteristicas, Ij) =f(V£)), para distintos valores de la tension de puerta, Vq. A1 aplicar una 
tension de puerta Vq = cte. y suficientemente grande como para crear el canal de inversion, la 
corriente en el canal, Ij), sera funcion de Vj^ y su expresion analitica se obtiene integrando la densidad 
de corriente sobre una seccion transversal del canal. Su valor es, 



Id 



{vg -Vt)-Vd -~ 



[2.83] 



siendo Vj la tension umbral y k una constante funcion de la geometria del dispositivo y de las 
constantes del semiconductor. 

Veamos ahora las distintas regiones de funcionamiento. La figura 2. 35. a muestra las curvas 

caracteristicas con una ampliacion de la zona lineal. Al aplicar un potencial en el terminal de puerta, 

Vg, mayor que el umbral, Vf, se crea el canal de inversion que conecta drenador y fuente. Si entonces 

aplicamos un potencial en el drenador positive respecto de la fuente y pequeiio (Vd « VQ-Vf) 

aparece una corriente de drenador, I^, que es proporcional a V^, para Vq constante. Estamos en la 

region lineal o triodo en la que el canal se comporta como una resistencia cuyo valor se puede 

controlar mediante Vq. Analiticamente podemos aproximar la expresion [2.83] despreciando la 

1 ^^ 2 
correccion cuadratica, — Vq , asi: 



{Vg-Vt)>0 

Vd>0 

Vd«{Vg-Vt) 



lD"k{VG-Vr)Vjj [2.84] 



Al aumentar Vd, conservandose todavia inferior a {Vq-Vj), actua la correccion cuadratica y 
entramos en la parte curva de la region triodo, para la que no es valida la aproximacion lineal y 
debemos usar la expresion completa, [2.83]. Para cada Vq y Vj existe una tension de 
saturacion, V^ssat = ^G-^T^ que marca el limite de la zona. 



740 



Tema2: Dispositivos Semiconductores en Corte y SaturaciOn 



^lD = k(VG-VT)VD 



VG-VT = Cth 




Region de 
Saturacion 



Correccion 
Cuadrdtica 



Zona - 
Lineal 




Vd pequena 



Vg2\>\Vgi 



Gl 



VDSsat=VG2-VT 



Region de 
Avalancha 



VQ=cte 



'D 



Figura 2.35. Curvas caracteristicas y regiones de ftmcionamiento del transistor MOS. 

Si aumentamos Fq hasta el valor V^Ssau se estrangula el canal Qny = Ly comienza la region de 
saturacion. A partir de aqui, posteriores incrementos en Vq, (Fo> Vossat)^ dejan constante a la 
corriente del drenador, que mantiene el valor maximo de la region anterior. 



a 



D 



dV, 



D 



^ klvc -Vryv^ssatho ^ V^ 



DSsat 



Vg-Vj- 



VQ=cte 



^Dsat --VG -^t) - T ^DSsat 



[2.85] 



[2.86] 



Posteriores incrementos en Vd, acortan el canal acercando el punto de estrangulamiento hacia 
la union de fuente. Si el estrangulamiento ocurre en y=L' (con L'<L) alii V=V[)Ssah ^1 resto, 
Vq- V£,SsatS'^^ ^^ 1^ z*'^^ ^^ transicion de la union P-N"^ de drenador. Podemos razonar acerca de la 
constancia de la corriente de saturacion, losat, pensando que el numero de portadores moviles que 
Uegan a Z,' es practicamente el mismo que llegaba a L, y que de Z' a L caminan sin recombinacion 
apreciable, a velocidad limite, en el fuerte campo («105 voltios/cm), de la zona de transicion por un 



141 



El£QTBOJi)QAD)Q)TAL 



mecanismo analogo al de recogida de portadores en la union de colector de un transistor bipolar 
trabajando en modo active directo. 

El comportamiento del MOSFET para pequenas senales se puede representar por un 
amplificador a transconductancia bastante proximo al ideal, segiin lafigura 2.36.b, cuyos parametros 
caracteristicos dependen de la posicion del punto de funcionamiento estatico. Para establecer un punto 
de funcionamiento (punto Q), tenemos que polarizar al transistor MOS de forma analoga a como 
polarizabamos los transistores bipolares. La polaridad de las fuentes extemas depende del tipo de 
MOS que estemos usando. Lafigura 2.36.a muestra el esquema de polarizacion en fuente comiin de 
un MOS de realce (canal N) y dos rectas de carga que generan puntos estaticos en la zona lineal (Ql) 
y en la recta de saturacion (Qs)- 

Veamos ahora el calculo de la conductancia de drenador y la transconductancia en estos puntos: 



dV^ 



= k[{VG-VT)-VD] 

Vg [2-87] 

Vemos pues que la conductancia de drenador, gd, crece con Fc-F^y decrece linealmente con 
Vd anulandose para Vj) = Vj^ssat (final de la zona triodo). 

La transconductancia es: 



Sm 



dVo 



= k-VD [2.88] 

Vd 



Como vemos gm es independiente de la tension de puerta y aumenta con F/) hasta la zona de 
saturacion en donde permanece constante e igual al valor maximo de la zona anterior. 

La ganancia en tension del dispositivo es 






^gm_^ ^_D ^2.89] 

j^ gd Vg-Vt - Vd 



En el modelo ideal esta ganancia se haria infinita al entrar en zona de saturacion (gd=0) pero 
las consideraciones sobre el acortamiento del canal y otros efectos secimdarios del dispositivo real 
justifican un valor finito para gj, y por consiguiente para ju. 



142 



Tema 2: DisposiTivos Semiconductores en Corte y Saturaci6n 




Voo/Rof^ 



^DQ 



Qr rsg 



(b) 



G>- 




M- 



Se anula en saturacion 



:^D 



"g 



S>- 



\c 



s ^ 



Sd: 



d 
^ S 



\(C)_ 



Figura 2.36. (a) Esquema de polarizacion de un transistor MOS de cana N y modo de realce. (b) Ilustracion de 
dos puntos de trabajo, Qi y Qs, sobre una caracteristica de salida definida por un valor constante 
en la tension de puerta Vq. Observese que esta tension es en realidad la diferencia de potencial 
entre los terminales de puerta y fuente, solo que aqui el terminal de fiiente esta a tierra. (c) Circuito 
equivalente para pequenas seiiales. Es decir, para describir el comportamiento lineal en tomo a los 
puntos de fimcionamiento estatico {Qi y Qs). Se trata de una version sinplificada en la que la 
inpedancia de entrada posee una componente resistiva tan alta que, esencialmente, queda 
caracterizada por el valor de una capacidad, Cg. 



143 



Electr6nica Digital 



Estos son parametros "intrinsecos" que no incluyen las capacidades de difusion y las de 
transicion drenador-sustrato, etc... No obstante, desde el punto de vista practice nos basta con 
completar el modelo incluyendo las capacidades (linea de puntos) de puerta y drenador (Cg^ Cjg). 

La figura 2.37 muestra las caracteristicas de salida y de transferencia de los distintos tipos de 
transistores MOS. Observese que se pueden pasar de unas a otras mediante traslaciones y giros. 



TIPO 



SIMBOLO 



CARACT. de 
TRANSFERENCIA 



CARACT. de 
SALIDA 



Canal N 
(vaciamiento) 




'D 



^G 




Canal N 
(realce) 



G 



?I_ 



D 



BS 





^G- 







Canal P 
(vaciamiento) 



D 



BS 



Id 




Canal P 
(realce) 



1_ 



- D 



BS 





Figura 2.37. Resumen de los distintos tipos de transistores MOS. 



144 



Tema 2: DisposiTivos Semiconductores en Corte y SaturaciOn 



Durante todo este apartado hemos estudiado un tipo concreto de transistor MOS: canal N y 
trabajando en modo de realce. Sin embargo, tal como se ilustra en la figura 2.37, hay 4 tipos de 
transistores MOS. Para canal N, podemos hacerlo trabajar en modo de realce o en modo de 
vaciamiento. Lo mismo podemos hacer para el caso de canal P. En el modo de realce para Kg = no 
hay canal, lo creamos al aplicar el potencial de puerta Vq. Si el canal es N, la tension es 
positiva (Vg > Vj-y Vt> 0). Si el canal es P, Fj-es negativa. En el modo de vaciamiento, antes de 
aplicar Vq ya hay canal, de forma que las caracteristicas de transferencia ocupan dos cuadrantes. 
Estos dispositivos admiten potenciales positivos y negativos para el terminal de puerta. 

2.10. Problemas (*) 



E.2.1. Con ayuda del circuito basico de polarizacion de un diodo, obtener la curva caracteristica 
del mismo por simulacion. ^Que sucede cuando excitamos con onda senoidal de la forma: 
in - sen( ^0?. Obtened por simulacion la forma de onda de la seiial de tension en homes 
de la resistencia y del diodo y explicar la relacion entre ambas. Expliquense detalladamente 
las curvas obtenidas. Montese el circuito con un diodo real y obtenganse experimentalmente 
los valores y curvas pedidos. 

E.2.2. Dado el circuito de la figura adjunta: 

a) Obtener su caracteristica de transferencia para los casos Vp=5Vy Vp =-5V. 

b) Dibujar la forma de la serial de salida en ambos casos con excitacion sinusoidal. 

c) Tomando R=50Q calcular el valor de la resistencia del diodo en conduccion a partir de los 
datos de la simulacion. 

D 

>\ — 



F;„ = / 0sen(27tft ) f = IkHz 



Kn© 



10k 



. t 



V 

out 



; 



(*) La solucion de estos ejercicios se encuentra en el texto de problemas. 



145 



ElectrOnica Digital 



E.2.3. Obtener la caracteristica de transferencia del circuito de la figura. Dibujar la serial de 
salida cuando a la entrada tenemos la serial: f^„ = 10sen(2;5^) conf=lkHz. 




E.2.4. 



E.2.5. 



E.2.6. 



Dado el circuito rectificador de la figura adjunta, obtener la forma de onda de la serial de 
tension sobre la resistencia R (V^g) cuando excitamos con una serial sinusoidal de 10 

Voltios de amplitud. Realizar la simulacion del circuito y comprobar que convierte la serial 
sinusoidal de entrada en una serial rectificada en doble onda siempre positiva. 




DiseHar una experiencia que permita obtener la caracteristica de entrada de un transistor 
bipolar y la familia de caracteristicas de salida en configuracion de emisor comun. 
Comprobar sobre el circuito obtenido que la union Base-Emisor se comporta como un 
diodo. Obtener las curvas caracteristicas mencionadas por simulacion y de forma 
experimental para un transistor comercial. Supongase V^^ = 5V. 

Usar las curvas caracteristicas del problema anterior para polarizar un transistor NPN de 
forma que trabaje unicamente en zona activa, de acuerdo con el circuito de polarizacion 
que se muestra en la figura. Es decir, no entre en corte ni en saturacion, cuando se excita 
con el generador: Vin=2,5+0,5sen(a) t) (a> =2nf,f=lkHz), y se alimenta con unafuente de 5 
Voltios. Calcular Kg y Rq de forma que la serial de salida oscile en torno a 2,5 V al igual 
que la entrada. iQue debemos hacer para que llegue al corte? ^Y para que entre en 
saturacion? . 



146 



Tema 2: DisPOSiTivos Semiconductores en Corte y Saturaci6n 




d^Vr 



cc 



E.2.7. Dado el circuito de la figura, construir su caracteristica de transferencia. ^Invierte la 
serial?. iPorque?. Supongase P=250, RE=lkfiy Rg=10kQ. 



2N2222A 




E.2.8. Obtener por simulacion las curvas caracteristicas de un transistor MOS canal N trabajando 
en modo de realce de forma similar a la empleada para el transistor bipolar 2N2222A del 
ejercicio anterior. Obtener a partir de estas curvas el valor de la tension umbral del 
dispositivo. 



^^^^ 



147 



ElectrOnica Digital 



Preparacion tie la Evaluacion 



Memos descompuesto el tema en tres grandes objetivos: 



Objetivos 






1: Union P-N 

2: Transistor es Bipolares 

3: Transistores MOS 



Para cada uno de estos objetivos existen problemas resueltos en el texto de problemas que 
recomendamos intentar reproducir antes de empezar la preparacion a la evaluacion. Aqui vamos a 
introducir otros problemas andlogos y algunas cuestiones teoricas que pueden ayudarnos a evaluar 
nuestro grado de comprension de los aspectos bdsicos en diodos y transistores, tal como van a ser 
usados en los dos temas siguientes. En unos casos damos nosotros la solucion. En otros casos 
dejamos la cuestion para que la resuelva el alumno. Entonces damos ciertas "pistas" sobre el 
metodo de solucion. 

1. Union P-N 

1.1. iPodrias describir cualitativamente el origen de la barrera de potencial que hace que una 
union PN conduzca mas en un sentido que en el opuesto? 

Solucion: 

El origen de la barrera esta en la diferente composicion del semiconductor extrinseco tipo P de 
la del tipo N. En el primero hay un exceso de huecos y en el segundo un exceso de electrones. Al 
"ponerlos en contacto", aparece un proceso de difusion de portadores moviles que pasan desde donde 
hay mas hasta donde hay menos y dejan un conjunto de cargas ionicas inmoviles (negativas en P y 
positivas en N) que dan origen a una barrera electroestatica, V^, cuya altura es tal que compensa el 
proceso de difusion. 



148 



Tema2: Dispositivos Semiconductores en Corte y SaturaciOn 



1.2. iQue son las curvas caracteristicas de un diodo?. ^Como podriamos obtenerlas con el 
simulador? 

Solucion: 

Son la representacion grafica de su comportamiento extemo. Es decir, de la relacion entre los 
valores de tension en sus extremos, v^ = v^^^^^ - v^^^^^^ y la corriente que pasa por el diodo, i^. 
Analiticamente esta relacion es de tipo exponencial: 



iD = ^S 



eKT 



V 



^IseKT 



pero puede aproximarse por dos tramos rectos: uno de poca pendiente (alta resistencia) y otro de gran 
pendiente (baja resistencia). El primero corresponde a la zona de corte, cuando el diodo no conduce y 
el segundo corresponde a la zona de saturacion, cuando el diodo conduce con una resistencia muy 
baja, tal como ilustra la figura adjunta en la que se representa la curva caracteristica del diodo 1N4148 
obtenida por simulacion. 



^ 1,5 






50 



c3 



-2.0 -15 -1.0 -0 5 00 05 10 1.5 2.0 

Tension dnodo-cdtodo, V^ (V) 

Si el alumno tiene dificultades para obtener con el simulador esta curva caracteristica le 
sugerimos que revise el circuito de la figura 2.1.1 del texto de problemas. 

1.3. ^Que significa polarizar un diodo?. iComo podriamos usar el simulador para ilustrar los 
distintos valores de tension y corriente que se obtienen al polarizar el diodo en distintos 
cuadrantes (l°y 3°)? 



149 



ElectrOnica Digital 



Solucion: 

Polarizar un dispositive es elegir un punto de funcionamiento estatico y hacer que se cumpla. 
Para ello, el diodo se introduce en un sencillo circuito con una pila y una resistencia, tal como se 
ilustra en la figura adjunta, de forma que los valores de tension en los extremos del diodo deben 
satisfacer dos condiciones: 

1. Las de la curva caracteristica, i^y =f(vjy), al mirar hacia el diodo 

2. Las de la ley de Ohm, al mirar hacia la pila: Vj=vj) + R i^ 

A esta condicion que, como vemos corresponde a la ecuacion de una recta se la llama Recta de 
Carga. 

Asi pues, para saber donde esta situado flmcionalmente el diodo, tenemos que resolver este 
sistema de dos ecuaciones con dos incognitas y la forma de resolverlo mas sencilla es de naturaleza 
grafica. El punto de trabajo del diodo se encuentra en la interseccion de la recta de carga con la curva 
caracteristica. 

Corriente: io (mA) 

1.5n 



V£. 



V. + 



-►f 



D 



+ 
i 



Recta de Carga 

V,=VD+RiD ' 



O 



Id 



R 

Ik 



Vr 




. Curva caracteristica 
del diodo: io^ffvo) 



Punto de trabajo 
QOaVn) 



Tension de entrada: Vj (V) 



Para ilustrar la polarizacion con el simulador es comodo usar el circuito elemental anterior 
sustituyendo la pila (continua) por una serial altema (sinusoidal) de baja frecuencia, que recorra los 
valores en los que el diodo conduce (primer cuadrante a partir de la tension de despegue, Vy, del 
orden de 0,6 voltios) y los valores en los que no conduce (semiciclos negativos). 



150 



Tema 2: DisposiTivos Semiconductores en Corte y Saturacion 



Tension (V) 

5 



.-^y 



Serial de entrada, Vj 



Tension en 
el diodo, vp 



Tension en 
la resistencia, v^ 



Tension de 
despegue, Vj, 




-*--<- 



Primer Cuadrante 
(Polarizacion directa) 



Tercer Cuadrante 
(Polarizacion Inversa) 



1.4. ^Que modelo analitico puede obtenerse de la simple inspeccion de las curvas caracteristicas 
en el primer cuadrante?. 

(Recuerde la posibilidad de aproximar la curva por sus tangentes, dando lugar al modelo 
simplificado consistente en dos rectas que se cruzan en el valor de la tension de despegue del diodo). 

1.5. ^Que modelo analitico puede obtenerse de la siguiente descripcion? : Un diodo polarizado en 
inversa no conduce (salvo una pequenisima corriente de perdidas) hasta que la tension 
aplicada no alcanza un cierto valor de ruptura, llamado tension Zener, V^ Entonces conduce 
con una resistencia muy baja, r^). 

(Recuerde aqui tambien la posibilidad de aproximar la curva caracteristica del diodo zener en el 
cuarto cuadrante mediante dos rectas que se cruzan en el valor de la tension zener, Vz ). 

1.6. iComo se comportan los dos circuitos de la figura?. iQue relacion le encuentra con los 
operadores logicos estudiados en el primer capitulo?. ^Quepasa al cambiar el signo de lapila 



en ambos circuitos?. 



R 



Vcc=+5V 



X 
Y 



F2(X.Y) 



Y 
X 



F,(X,Y) 



R 



cc — 



5V 



151 



ElectrOnica Digital 



El procedimiento para resolver la primera parte de esta cuestion es considerar que en las 
entradas Xe Y se aplican tensiones de voltios o de 5 voltios, correspondientes a los niveles logicos 
"0" y "1". Despues, ante cada una de las cuatro configuraciones logicas posibles, hay que ver como 
quedan polarizados los dos diodos (en directa o en inversa) y, consecuentemente, cual es el valor de 
tension en los catodos, Fj(X,Y). 

Para el segundo circuito dejamos que el alumno razone teniendo en cuenta que se ha cambiado 
el valor de la tension de alimentacion y que recordamos la diferencia entre logica positiva y logica 
negativa. 

1.7. iSabria analizar los circuitos de la figura?. iQue funcion logica realizan?. lEn que tipo de 
logica (positiva o negativa)?. 




R 



F,(X,Y) 



°Fcc = -5F. 




F2(X.Y) 



+5V. 



2. Transistores Bipolares 

2,1. ^Podria explicar cualitativamente el principio de funcionamiento del transistor bipolar 
haciendo uso de la figura 2.16 en la que se muestra el diagrama de corrientes? 

Le recordamos que si tiene dificultades puede ver el apartado 2.5.1 de este tema. Le recordamos 
tambien que el procedimiento de analisis cualitativo consiste en el seguimiento de la corriente desde 
el terminal de Emisor hasta los otros dos terminales (Base y Colector), llevando la contabilidad de los 
portadores que "mueren" per recombinacion en las fronteras de las zonas de transicion o durante el 
transito de la zona neutra de la region de Base. Finalmente, conviene tambien recordar que el analisis 
se hace en "modo activo normal", es decir cuando la union de Emisor esta polarizada en sentido 
directo y la union de Colector esta polarizada en sentido inverse. 



152 



Tema 2: DisPOSiTivos Semiconductores en Corte y SaturaciOn 



2.2. iComo podriamos obtener las caracteristicas de entrada de un transistor bipolar en 
configuracion de emisor comun lB=f(VBE)?- 6^ tjue se parece el comportamiento de la union 
Base-Emisor cuando el transistor estd funcionando en modo activo normal?. 

Sugerimos el uso de la version libre del PSpice y emplear el transistor 2N2222 y dos 
generadores de tension tipo VSCR (fuentes de tension continua) para poder comparar sus resultados 
con los que contiene el problema analogo del texto de problemas. 

2.3. Si ya tenemos las caracteristicas de entrada ^como podriamos aprovechar el esfuerzo de 
simulacion realizado en el ejercicio 2.2 para obtener ahora las caracteristicas de salida 
^C=f(^CE) del mismo transistor 2N2222?. Acceder al problema E.2.5 del texto de problemas si 
se tiene dificultad en obtener las curvas andlogas a las de lafigura adjunta. 



ID 
O 

o 

<D 
T3 



c 

(U 

'6 

o 




12 3 4 

Tension Colector-Emisor (V) 



Caracteristicas de salida del transistor 2N2222 obtenidas por simulacion 

2.4. ^Que trayectoria sigue el punto de trabajo sobre la recta de carga al pasar de activa a corte?. 
lY al pasar de corte a saturacion? . 



153 



ElectrOnica Digital 



2.5. ^Podria obtener y justificar la forma de onda en el Colector en transiciones del transistor de 
carte a saturacion y viceversa? ^Puede estimar con el simulador algun valor aproximado para 
los tiempos de retardo, subida, almacenamiento y caida?. Por si lefuera de ayuda, el circuitoy 
las formas de onda cualitativas correspondientes a las transiciones corte-saturacion-corte las 
tiene en lafigura 2.24 de este tema. 

Solucion: 

El objetivo de esta cuestion es ilustrar el comportamiento transitorio y los retardos de 
conmutacion responsables finales de la limitacion en la velocidad de conmutacion de toda familia 
logica. 

Empezamos con el circuito inversor minimo, consistente en un transistor polarizado con una 
resistencia de Colector (R^ = 200 Q) y una pila de 5 voltios (¥2). A la entrada por Base aplicamos 
una onda cuadrada (o un pulso) de 5 voltios de amplitud, procedente en principio de la salida de otro 
inversor analogo y simulado con la fliente Vj. 




R1 
10K 



R3 200 



.►-O salida 



K Q1 



5V 
~V2 



De la simple inspeccion de los resultados, se observan los dos procesos basicos responsables 
del valor fmito de tg;^ y tQpp. Por una parte, cuando la entrada pasa de baja a alta, la salida no 
responde instantaneamente sino que tarda un cierto tiempo en iniciar al descenso (tiempo de retardo, 
tj= 75ns). Por otro lado, el descenso no es instantaneo sino que se realiza con cierta pendiente 
(derivada) finita que hace que tarde otro tiempo en alcanzar una banda estrecha en tomo al "0" 
(tiempo de subida, t^=122ns). La suma de estos dos tiempos da lugar al retardo en el paso a 
conduccion. 



154 



Tema 2: DisposiTivos Semiconductores en Corte y Saturaci6n 



ton = td + tr = 75ns +122ns =197ns 

Un proceso analogo ocurre en el paso al corte, dando lugar a un nuevo retardo 

tOFF = ts + tf= 146ns + 188ns = 334ns 

Si tiene dificultad en comprender el origen y el significado fisico de estos cuatro tiempos (tj, 
tp t^y tf) le recomendamos se lea el apartado 2.6 este tema. 



5.0U 



■5.0U 



1GU 



SEL» 




QU + 

Os O.Sus 

□ U(salida) 



ti= 75ns 



tr=122ns 



toN=197ns t,=188ns 



tf= 146ns 



toFF=334ns 



2.6. ^Que distingue el modelo de la parte (a) de lafigura (dos diodos en oposicion) del modelo de 
la parte (b) (los mismos dos per o con un generador de corriente enparalelo?. iQue aspecto de 
la geometria de un transistor bipolar es el responsable de esta diferencia?. 



155 



ElectrOnica Digital 



E 
(a) 



B 



C E 



(b) 



M 



Ig CO IC 



Bi 



"c 



Solucion: 

En la parte (a) tenemos simplemente dos diodos en oposicion en los que las corrientes que los 
recorren no son interdependientes. No hay por consiguiente efecto transistor; no hay amplificacion. 

En cambio, en la parte (b) vemos que en paralelo con el diodo de la union de Colector hay un 
generador de corriente cuyo valor en todo momento, a Ig, es fiincion del valor de la corriente en el 
otro diodo, Ig. Asi la corriente total en el colector, I(^ = alg + I(2q, es igual a la que genera el propio 
diodo de colector (polarizado en inversa y por consiguiente pequena, /(^q) mas la que le viene 
inyectada desde la union de emisor, que esta polarizada en sentido directo. Por eso, este segundo 
modelo (b), corresponde a un transistor. 

El aspecto geometrico que permite pasar de dos diodos en oposicion a un transistor es el ancho 
de la zona de base. Cuando la base es muy estrecha, los portadores que la atraviesan desde la union de 
emisor (/g) a la de colector no tienen tiempo de "morir" por recombinacion y llegar casi 
intactos (al^). Si la zona de base fuera mas ancha, se recombinarian y se perderia el efecto transistor, 
quedandonos reducidos al modelo de la parte (a) (dos diodos en oposicion). 

2.7. Recordando los modelos de un diodo polarizado en directa y en inversa ^podria pasar del 
circuito de la parte (b) del ejercicio anterior al que mostramos ahora?. iSe le ha anadido 
algun componente que no proceda de los diodos?. iQue significado fisico tiene?. 



-WV^ 



r-<©-^ 



alg 



. >-' Ico 



rb< 



C re= 15 n 
rt= 150 n 

r, = 2MO. 
a = 0.998 



156 



Tema 2: DisPOSiTivos Semiconductores en Corte y Saturaci6n 



(Recuerde los modelos del diodo como elemento de circuito en directa y en inversa) 

2.8. iQue razonamientos adicionales serian necesarios para pasar del modelo (b) del ejercicio 2.6. 
al mas completo y simetrico que aparece en la figura 2.18 del tema?. iQue nuevos 
componentes fenomenologicos le han sido anadidos y por que?. 

2.9. iComo podriamos resumir con valor es numericos el modelo mas simple del transistor bipolar 
en activa, corte y saturacion? . ^Por quepuede ser Ml este resumen?. 

Solucion: 



MODO 


Union Base-Emisor 


Union Colector-Emisor 


Vbe 


Ib 


VCE 


Ic 


Activo 


0.6 <VBE<0,8voltios 


pequena 


grande 
VcE=E-RcIc 


grande 
Ic = j3lc 
0^300 


Corte 


Vbe ^ 0,6 voltios 


despreciable 


VcE=E 


despreciable 


Saturacion 


Vbe > 0,8 voltios 


pequena 


VcE = 0,2 voltios 


grande 



Tambien podemos verlo sobre las curvas caracteristicas, donde se marcan las zonas de trabajo. 
La linea elipsoidal de color pretende ilustrar la cadena causal de sucesos en la figura 2.20. 
Primero aplicamos una tension, Vgg, en la union de emisor que, de acuerdo con su valor (<6 > que 
0,6 voltios), hace que la union este en corte, activa o saturacion. Como consecuencia de esta situacion 
en las caracteristicas de entrada se genera una corriente, /g, que hace que en la union de colector 
tengamos Iq = p Ig y V^^ = E - R(j Iq Graficamente estamos diciendo que la Ig generada en la 
union de emisor selecciona una curva caracteristica en la salida y alii hay que ir a buscar las 
relaciones entre iQy Vq^. 

2.10. Incidamos de nuevo en los conocimientos minimos necesarios para comprender el 
funcionamiento en corte y saturacion. ^Podria explicar la situacion que se ilustra en el circuito 
de la figura, donde un pulso positivo de altura E actua sobre la union Base-Emisor? 

Solucion: 



157 



ElectrOnica Digital 




La trayectoria del punto de trabajo pasa del corte (porque v,- = voltios y por 
tanto F, < Vy) a la saturacion (porque v^ = E y por tanto es mayor que la tension de 
saturacion Vbe sat >^0,8 voltios ). Es decir, pasa desde Ig »0 , Iq ~IcEy Vg^ »£" hasta /g = valor 
alto, Iq =P Ig y Vq^-Vq^ ^^f fs0,2 voltios , tal como ilustra la curva de txansferencia (v,- v^ ) de la 
figura adjunta. 



E/R 



^CEO 




Saturacion \ 
..—- Corte — 



Ib-^0 y 



CEsat 




Vy VBEsat ^i 



E^ VcE 

^BEsat " O.Svoltios V^Esat " 0,2voltios 



El valor de la corriente de saturacion depende de la resistencia de carga Re y del valor de la 
pila que hemos usado en polarizacion, E. Entonces, los dos estados estables en logica saturada son: 



Corte 



IC = I CEO 



IC = ICsat ~ El Re 



Saturacion < 



VcE^E 

VcE - VcEsat « 0,2V 



158 



Tema 2: DisposiTivos Semiconductores en Corte y Saturaci6n 



3. Transistores de Efecto Campo (MOS) 

Por razones pedagogicas y para simplificar la ayuda a la evaluacion en este objetivo, haremos 
referenda solo a los transistores MOS que trabajan en modo de realce. No mencionaremos el modo de 
vaciamiento. Sin embargo, si que distinguiremos entre realce canal P y realce canal N, porque estos 
dos tipos de transistores MOS complementarios se usan en la familia de puertas logicas CMOS. 

3.1. iPodria describir de forma cualitativa el funcionamiento de una estructura MIS en situacion 
de acumulacion, vaciamiento e inversion? 

(Recuerde que partimos de una situacion en la que el potencial en la superficie es nulo y 
aplicamos una tension externa de polarizacion que modifica la concentracion de portadores en la 
superficie en relacion con el valor inalterable de esa concentracion al penetrar en el volumen del 
semiconductor). 

3.2. Podria justiflcar el concepto de transistor MOS como yustaposicion de muchas estructuras 
MIS, como las cartas de una baraja?. 

Puede apoyarse en \afigura 2.33 que muestra la estructura fisica de un transistor MOS canal N. 

3.3. Cudl es la forma de las curvas caracteristicas de un transistor MOS?. ^Cuantas regiones se 
pueden distinguir?. ^Tiene aqui el concepto "saturacion" el mismo significado que en los 
transistores bipolar es?. 

(Si tiene dificultades debe ir al apartado 2.9 de este tema y al problema E.2.8 del texto de 
problemas). 

3.4. ^Podria reproducir los resultados del problema E.2.8 y obtener las curvas caracteristicas de 
un MOS de canal N?. Se le sugiere el transistor IRF150 de la biblioteca de la version de 
evaluacion del simulador PSpice. 

3.5. La figura 2.35 muestra la forma cualitativa de las curvas caracteristicas. Id = f(Vj)) para 
distintos valores de la funcion de puerta Vq, y en el desarrollo del tema propusimos una 
expresion analitica aproximada para estas curvas 



Id=K 






159 



Electr6nica Digital 



Donde Vj es la tension y K una constante funcion de la geometria del dispositivo. ^Podria 
ahora avanzar un paso mas en la simplificacion y proponer una expresion para la corriente de 
drenador, Ij^ en la zona lineal y otra para la zona de saturacion? iQue pas a en la region 
intermedia?. 

Solucion: 

En zona lineal, despreciamos el termino cuadratico y tenemos la ecuacion de una recta 
Id = K(Vg- Vt) Vd donde la pendiente, K(Vg- Vt), depende de la diferencia entre el valor de la tension 
de puerta (Vq) y la tension umbral (Vj). 



klD=K(VG-VT)VD 




Vg-Vt^ cte. 



Vd pequena 

En zona de saturacion, domina el termino cuadratico y la corriente Id permanece practicamente 
constante e igual al ultimo valor (el maximo) de la region anterior. Esto ocurre para un valor de Vd al 
que llamamos valor de saturacion, Vds, en el que si seguimos aumentando Vd, Id ya no aumenta. Es 
decir, su derivada es cero. 



^I 



D 



dV 



D 



= k[{Vg-Vt)-Vds] 



Vq =cte 



luego ^DSsat ~ ^G ~^T Y ^1 valor de la corriente de saturacion es: 



lDsa,=-AVG-Vrf -^ 



2 



2 



DSsat 



Veremos mas adelante (tema 4) que con estas dos expresiones que ahora repetimos podemos 
comprender el comportamiento de las puertas MOS y CMOS. 



160 



Tema 2: DisPOSiTivos Semiconductores en Corte y SaturaciOn 



Zona Lineal 



Zona de Saturacion 



Vd pequena 



Vd>Vds, con Vdssm = Vg-Vj 



Id = K (Vg-Vt) Vd 



^Dsat =—V: 



DSsat 



2 



En la zona intermedia, entre la lineal y la de saturacion, interviene la correccion cuadratica y 
hay que usar la expresion completa de Id =f(Vo). 

3.6. Ahora que conocemos las curvas caracteristicas y las regiones de funcionamiento del MOS 
^podria proponer un experimento con el simulador para polarizar al transistor y para hacerlo 
actuar como un inversor?. ^Podria repetir el ejercicio 2.6 para transistores MOS?. iQue 
reflexiones le sugiere la comparacion entre los valores de toN y tOFF en ambos tipos de 
transistores? . 



^^^^^ 



Conviene recordar el caracter pedagogico de este tema orientado a la comprension de los 
aspectos basicos del funcionamiento de los dispositivos como conmutadores. Para aquellos alumnos 
que quieran ampliar conocimientos se les sugiere ver la bibliografia complementaria, donde se 
aborda con mayor extension y profundidad el estudio de los dispositivos electronicos. 

Referencias Bibliograficas 

1. Carmona Suarez, E., Mira Mira, J.: "Problemas Resueltos de Fisica de Dispositivos 
Electronicos". UNED (ref. 07407). Madrid, 2000 

2. Mira, J., Delgado, A.E.: "Electronica Analogica lineal" Tomo 1. UNED (ref. 074076). 
Madrid, 1993. 

3. Sze, S.M. : "'Physics of Semiconductor Devices". 1. Wiley &Sons. N. Y. 1981. 



161 







Familias Logicas (I): TTL 



^ CONTEXTO 

El proposito general de este tema y el siguiente es estudiar las distintas familias logicas. Aqui 
estudiamos la familia TTL (Logica Transistor-Transistor) y en el tema 4 estudiaremos las familias 
ECL, MOS y CMOS. Despues, volveremos a considerar las puertas logicas en funcion de sus 
caracteristicas externas y las usaremos para sintesis de funciones en logica combinacional y 
secuencial. 

En el primer tema estudiamos las exigencias computacionales del procesamiento digital de la 
informacion y llegamos al concepto de conjunto completo de operadores logicos. Es decir, para la 
sintesis de cualquier funcion combinacional necesitamos circuitos AND, OR y NOT (inversores) o 
bien circuitos NAND o circuitos NOR. 

En el segundo tema hemos presentado de forma resumida el comportamiento de diodos y 
transistores (bipolares y MOS) trabajando como conmutadores entre dos estados (corte y 
saturacion). Tenemos asi la base electronica necesaria para el estudio de las distintas familias 
logicas. Cada familia logica corresponde a una forma especifica de disenar los operadores bdsicos. 



Electr6nica Digital 



Este tema nos proporciona los argumentos fisicos para la caracterizacion de los circuitos 
logicos en terminos de pardmetros tales como velocidad o consumo. Por consiguiente, es el puente 
entre "Electronica Digital" y "Sistemas Digitales", dondeya no se hace referenda a las estructuras 
internas de las puertas logicas pero se depende de la solucion tecnologica usada en la 
implementacion. De hecho, una parte importante de las prestaciones de un sistema de cdlculo 
dependen de lafamilia logica (TTL, ECL 6 CMOS, por ejemplo) usada en la sintesis de sus memorias 
y unidades de proceso. 

En este capitulo estudiamos las bases de la integracion en pequena escala (SSI) que, en 
general, solo posee utilidad pedagogica. Despues estudiaremos funciones integradas en escala media 
(MSI) con mas de cien puertas en un circuito integrado y en gran escala (LSI). 

^^ CONOCIMIENTO PREVIO NECESARIO 

Los conocimientos necesarios se encuentran en el tema 2. No vamos a usar otros 
conocimientos que los correspondientes a los niveles de corriente y tension en los estados de corte y 
saturacion de los transistores bipolares y la sencilla relacion entre las corrientes de base y colector 
en zona lineal: I^ = P-I^. Despues solo necesitamos la Ley de Ohm, V^e =E-IqRq y saber 
sumar las distintas caidas de tension en las uniones y resistencias de una malla. 

^-^-^ Ob jETivos DEL Tema 

Objetivo 1: Saber caracterizar una familia logica (caracteristicas estdticas, transitorios, 
velocidad, ruido, consumo y flexibilidad logica). 

Objetivo 2: Comprender el funcionamiento de los circuitos RTL (Logica Resistencia-Transistor) y 
DTL (Logica Diodo-Transistor). Estos circuitos se introducen solo por razones 
pedagogicas, porque son muy sencillos y constituyen la base de las familias CMOS y 
TTL. 

Objetivo 3: Saber analizar en profundidad una puerta NAND en TTL y saber manejar datos de 
catdlogo sobre puertas logicas en TTL. 



164 



Tema 3: Familias L6gicas (/); TTL 



-»--•--♦-♦- GUIA DE ESTUDIO 

Este tema y el siguiente tienen cierta complejidad adicional para el lector con orientacion a, 
Sistemas Digitales, por la que aconsejamos formarse primero una imagen clara sobre lo que es un 
transistor considerado coma elemento de circuito en Electronica Digital. Es decir, recordar que en 
esencia se trata de un conmutador que para ciertos valores de tension entre base y emisor no 
conduce y pasado un cierto valor umbral conduce con muy baja resistencia. Es importante 
comprender el significado de la caracteristica de transferencia y aconsejamos usar el simulador para 
seguir el camino de las senales desde las entradas de una puerta NAND, por ejemplo, hasta la salida. 
Tambien aconsejamos volver a la teoria, a los problemas resueltos en el texto de problemas y a los 
ejercicios de preparacion de la evaluacion propuestos en el tema segundo cuando se encuentren 
dificultades. 



^^^ 



165 



ElectrOnica Digital 



Contenido del Tema 



3.1. INTRODUCCION A LAS FAMILIAS LOGIC AS 

Cada familia se caracteriza por un conjunto de parametros estaticos y dinamicos junto con otros 
factores tales como margen de ruido, consumo o valor de los niveles logicos que las hacen mas o 
menos adecuadas a la solucion de un determinado problema de diseno, de acuerdo con las 
especificaciones funcionales de partida. 

Las familias RTL (Logica Resistencia-Transistor) y DTL (Logica Diodo-Transistor) solo se 
introducen con proposito pedagogico ya que ilustran la sintesis de una funcion logica y los problemas 
de conexion entre puertas sin confusion de estados. Por otro lado, la familia DTL es el acceso 
conceptual a la TTL que sustituye sus diodos de entrada por un transistor multiemisor. 

Cada familia se caracteriza por un conjunto de parametros estaticos y dinamicos junto con otros 
factores tales como margen de ruido, consumo o valor de los niveles logicos que las hacen mas o 
menos adecuadas a la solucion de un determinado problema de diseno, de acuerdo con las 
especificaciones funcionales de partida. 

De entre las familias de validez actual hemos seleccionado la TTL (Logica Transistor- 
Transistor ) como ejemplo de logica saturada en tecnologia bipolar, la ECL (Logica de Emisores 
Acoplados), como familia rapida de logica no saturada en tecnologia bipolar y la CMOS (MOS- 
complementario) como familia representativa de la tecnologia MOS. Existen otras familias, como la 
HTL (Logica de Alto Umbral), para aplicaciones industrials que deben trabajar en entomos ruidosos) 
y la FL (Logica de Inyeccion) que no las vamos a considerar por limitaciones en la extension del 
programa y en los objetivos pedagogicos aceptados para este material docente. 

3.2. Caracterizacion de las Distintas Familias Logicas 

Aunque por razones pedagogicas estudiaremos el analisis y diseiio de las distintas familias 



166 



Tema 3: Familias L6gicas (I): TTL 



mediante circuitos discretes, toda la electronica digital esta en tecnologia integrada de forma que para 
nosotros un circuito digital integrado solo es accesible a traves de sus terminales de entrada y salida y 
para caracterizar su comportamiento electrico (estatico y dinamico) necesitamos realizar medidas. Al 
no tener nosotros el control sobre el diseno intemo, salvo en logica programable, la linica opcion que 
nos queda es caracterizar su comportamiento extemo. Las caracteristicas basicas son las siguientes. 

A Caracteristicas estdticas (de transferencia, de entrada y de salidaj. 

^ Transitorios ftiempos de retardo, de subida y de bajada). Debe especificarse bajo que 
condiciones de excitacion y carga se realizan las medidas. 

^ Ruido (origen y margen de ruido que acepta un circuito sin que se produzca confusion de 
niveles logicos) 

^ Consumo (funcion de la tecnologia usada y dependiente en algunas familias de la velocidad 
deseada). 

A Flexibilidad logica (facilidad de interconexion con otras familias tras la necesaria adaptacion 
de impedancias y niveles logicos). 

3.2.1 Caracteristicas Estaticas 

a) Caracteristicas de Transferencia 

Representan la relacion entre la tension de entrada y la de salida. En cada caso hay que 
especificar el numero de entradas conectadas a "alta" ("1") y a "baja" ("0") y el mimero de circuitos 
que cargan a la puerta. La forma normal de calcular la curva de transferencia es suponer que la puerta 
logica sobre la que estamos midiendo esta conectada a la entrada y a la salida con otras puertas de la 
misma familia. Lafigura 3. La ilustra el esquema de medida y \afigura 3. Lb el resultado obtenido 
con caracter general. 

Veamos como se obtienen a partir de esta curva de transferencia los dos puntos de operacion 
del inversor: 

vi = "0" => Vo = "1 " y vi = "1 '• ^ vo= "0" 

Esto equivale a calcular v(0) y v(l) que deben ser los mismos para la entrada que para la salida, 
ya que la salida de un circuito logico debe ser compatible con su entrada. De hecho una tension de 



167 



ElectrOnica Digital 



salida actua como entrada en la etapa siguiente. 



FUENTE •" 

DE 
ALIMENTACION 



(a) 



(b) 




Osciloscopio 




Zona no lineal 




,.— Amplificador Inversor 
de alta ganancia 

-—Punto Umbral 



dv. 



o _ 



\ 

— s»- 



= -1 



iN 



v(0) 



Anchura de 
transicion 



Figura 3.1. Caracteristica de transferencia. (a) Circuito de medida. (b) Forma tipica de la caracteristica de 
transferencia. 

Supongamos que la entrada logica es "1" y veamos el punto de operacion correspondiente. Para 
ello el nivel alto de la senal de salida se lleva sobre el eje de v/ determinando sobre la curva el punto 
de trabajo. Tenemos asi el valor de "0" que llevado sobre el eje de Vq nos da sobre la curva de 
transferencia el valor de v/ que lo produciria y obtenemos asi los dos puntos de trabajo. Sobre estas 
curvas de transferencia aparecen los siguientes parametros de interes: 



168 



> Niveles logicos: v(0) y v(l) 

> Salto logico: v(l) - v(0) 



Tema 3: Familias L6gicas (I): TTL 



> Punto umbrah La recta que une ambos puntos de operacion presenta una pendiente de -1 y 
corta a la caracteristica de transferencia en un tercer punto llamado punto umbral. 

> Puntos de ganancia unidad: son los dos puntos de la curva de transferencia en que la pendiente 
es -1 y defmen la region de transicion. 

> Anchura de transicion: es el cambio en la tension de entrada necesario para variar la de salida 
desde el valor correspondiente al primer punto de ganancia unidad al valor correspondiente al 
segundo punto. 

b) Caracteristicas de Entrada y Salida 

Representan las tensiones de entrada (o salida) en funcion de las corrientes suministradas o 
absorbidas por la entrada (o salida). Se miden conectando puertas similares a la de prueba para tener 
en cuenta los efectos de la carga. 

Logicamente, hay una gran diversidad de curvas de entrada y salida. Sin embargo se suelen 
medir sobre una entrada dejando todas las demas a un nivel constante y se representan varias de ellas 
como funcion de la temperatura o del valor de la fuente de alimentacion. 

3.2.2. Transitorios. 

Miden los retardos en el paso de un estado a otro mediante los tiempos de retardo, subida y 
bajada. Para medirlos se usa una cadena de propagacion, como la que se ilustra en la figura 3. 2. a. 
Siempre la puerta de prueba posee las entradas no usadas conectadas al valor de alta para NAND. 

El tiempo de retardo (td)se define como la media de los retardos correspondientes a la subida 
y a la bajada del impulso que constituye la tension de entrada, 

^d - — 



2 

[3.1 J 

siendo tjj (para el caso de un circuito que invierte) el tiempo desde que la tension de entrada alcanza 
el 50% de su valor final hasta que lo alcanza la salida. El tiempo ^^2 se define de forma reciproca. 



169 



ElectrOnica Digital 



GENERADOR 
DE 
PULSOS 



PUERTA 
DE 

Entrada 



,.■:.■ ■#' 



V; 




PUERTA 
DE 
CARGA 



(a) 



(b) 



_n_ 



p. de 
Prueba 




Cj 



Serial de 
Entrada 



Serial de 
Salida 




Figura 3.2. Medida de transitorios. (a) Circuito de medida. (b) Tiempos de retardo, subida y bajada.. 

Analogamente los tiempos de subida {tj) y bajada (tf) estan asociados a los cambios de tension 
entre el 10 y el 90 % (tr) y entre el 90 y el 10 % (tf). Una forma muy usual de comparar familias 
logicas es usar el producto (potencia consumida x tiempo de retardo). Logicamente, interesa que sea 
minimo este producto puesto que entonces tendriamos la familia mas rapida con el minimo consume. 
Se alcanzan excelentes resultados en el caso del CMOS dinamico. 



170 



Tema 3: Familias L6gicas (I): TTL 



3.2.3. Ruido 



Rmdo es toda sefial no deseada que puede producir cambios en la salida o en el estado de un 
circuito digital que no corresponden al proposito de su disenador. Hay distintos tipos de ruido de los 
que nos defendemos mediante los procedimientos tipicos de: (1) apantallamientos (uso de cable 
coaxial y jaula), (2) vias a tierra y (3) desacoplos (filtros L-C). 

Estos tipos de ruido pueden ser de origen extemo o mtemo. Son de ongen extemo los debidos a 
la ahmentacion {Vcc), disparos de tnacs y otros conmutadores, etc... y se mtroducen cas, siempre por 
acoplos capacitivos. Son de origen intemo los generados por las impedancias parasitas y las espigas 
de comente causadas por la conmutacion de los propios circuitos logicos. 

El comportamiento de cualquier familia logica frente al ruido se caractenza con los siguientes 
parametros: sensibilidad al ruido, inmunidad y rechazo del ruido. La inmunidad al ruido depende de 
muchos factores tales como: fuente de alimentacion (caso de CMOS), las impedancias de entrada y 
sahda, capacidades parasitas y dispersion en las curvas caracteristicas, consecuencia del proceso de 
fabricacion. 

Los fabricantes suelen caracterizar la inmunidad al ruido de sus circuitos mediante: 

1. Tension de ruido maxima tolerable. 

2. Altura del impulso mdximo tolerable. 

3. Energia maxima que tolera el sistema sin producir un cambio indeseable en el nivel de salida. 
De todos estos parametros el mas general es la energia, pues permite una comparacion entre las 

distmtas famihas. Como consideracion general, antes de estudiar la inmumdad de una familia logica 
diremos que depende de su velocidad, puesto que las seiiales de ruido se unen con el mensaje via 
acoplo capacitivo. Asi, cuanto mas lenta es una familia mayor es su inmunidad. 

Las especificaciones de inmunidad al ruido en continua se pueden estudiar a partir de las 
caracteristicas de transferencia. El margen de ruido (NM, noise margin) es la diferencia de tensiones 
medida en el eje de v,, entre el punto de funcionamiento y el de ganancia unidad mas proximo. 

Como en general es diferente para las entradas "1" y "0" distinguimos dos margenes de ruido 
el del nivel logico "0" (NMO) y el del mvel logico "1" (NM^) tal como se ilustra en hftgura 3.3.a. 



i7i 



Electr6nica Digital 




v(0)max v(l)min 



Figura 3.3. Ruido. (a) Margen de ruido en "0" y "1". (b) Zona de transicion debida a la dispersion y puntos de 
calculo "en el peor de los casos". 

En el caso de la figura NM^ > NM^ pero hay que indicar que las impedancias en uno y otro 
estado son distintas [Z(0) ^Z(])] por lo que habra que tenerlas en cuenta al analizar la susceptibilidad 
del circuito a la tension de ruido. 



772 



Tema3: Familias L6gicas (I): TTL 



Si las caracteristicas de transferencia son de pendiente muy acusada, no vale la pena distinguir 
entre los dos puntos de ganancia unidad y podemos defmir los margenes de ruido en cada estado en 
funcion de la distancia a la tension umbral. En este caso el parametro se llama sensibilidad (TVS, noise 
ss^sibility). Finalmente, se suele hablar de inmunidad al ruido (M) come el cociente entre la 
sensibilidad y la amplitud logica {NS/fv(l)-v(0)J}. Normalmente se usa solo el parametro NM sobre 
curvas de dispersion. Al considerar las caracteristicas, hemos tornado una unica curva de 
transferencia. La dispersion en caracteristicas y los efectos debidos a las variaciones de temperatura, 
impedancias, derivas en Vcc, etc. hacen que solo podamos hablar de una zona de transferencia lo que 
exige un metodo de diseno en el que nos tenemos que poner en el "peor de los casos" (figura 3.3.b). 
Esto exige, dado que no hay conmutacion si la ganancia del inversor es menor que la unidad, que 
tomemos el primer punto en la frontera primera de la zona de transicion y el segundo en la mas 
externa. Vemos que existe un intervalo MVminMOJmax] en que la salida no esta defmida. 

En cuanto a la inmunidad a pulsos podemos afirmar que a medida que el ancho del pulso se 
aproxima al tiempo de propagacion, la amplitud del pulso necesaria para inducir a error aumenta 
mucho. For otro lado, al hacer ancho el pulso el valor de la inmunidad se aproxima al margen para 
continua. 

Finalmente, la inmunidad frente a la energia de la serial de ruido es considerada por muchos 
como la mejor especificacion pues considera los efectos de las tensiones y las impedancias de forma 
conjunta. 

3.2.4. Flexibilidad Logica 

Es una medida de la capacidad, versatilidad o variedad de uso de una familia logica. Esto se 
valora viendo si tiene una 6 mas de las siguientes posibilidades: 

a) Cableado logico. 

b) Salidas complementarias. 

c) Capacidad de excitacion (fan-out y open colector). 

d) Puertas multiples (tipos defunciones). 

e) Posibilidad de usos altemativos o complementarios en Electronica Analogica. 

El cableado logico es la capacidad de realizar una funcion logica a partir de la conexion externa 



173 



Electr6nica Digital 



de puertas anteriores sin necesidad de emplear una puerta adicional. 

La mayoria de las veces es necesario disponer de una serial y su complementaria. Si las puertas 
de la familia con la que estamos disenando las ofrecen nos ahorramos un inversor. 

Si la familia tiene capacidad para atacar a otras familias logicas {compatibilidad) o cargas no 
estandar: visualizadores, reles, lineas de transmision, etc. ello supondra una reduccion en costo, al no 
ser necesarios circuitos de acoplo. El problema de la capacidad de excitacion puede estar 
condicionado a los valores de corriente o a la maxima excursion de la tension de salida (series "open 
colector", colector abierto). En general hacen falta circuitos de acoplo (hexinverters, drivers) y otros 
de tipo mixto (entrada digital y salida de potencia). 

El "fan-out" es el numero de puertas iguales que se pueden conectar a la salida de una dada sin 
perturbar su estado. Las salidas con "colector abierto " nacen de la necesidad de usar una resistencia 
de carga distinta de la de salida de la familia o una tension de alimentacion {Vqc) mayor para 
encender lamparas, por ejemplo. 

Todas las familias logicas estan dirigidas a usos digitales. Sin embargo, es posible usar las 
puertas en algunas aplicaciones analogicas. Ademas, en un circuito complejo con parte analogica y 
parte digital, si no queremos usar varias fuentes de alimentacion ni tener problemas de adaptacion de 
niveles podemos sintetizar las pocas funciones analogicas adicionales que incluye un sistema digital 
mediante los mismos circuitos digitales. Observese que en la zona de transicion, todo inversor es un 
amplificador de muy alta ganancia. Un ejemplo frecuente de uso de los circuitos digitales en el diseno 
de algunas funciones analogicas es el de los osciladores de cristal de cuarzo que incluyen los relojes 
digitales. 

Finalmente, la compatibilidad de una familia nos dice con que otras familias se puede unir. Los 
problemas fundamentales son los distintos niveles logicos y las distintas impedancias. Sin embargo 
siempre existe una posibilidad de disenar un circuito de acoplo entre dos familias logicas diferentes. 
Para ciertas familias de uso frecuente (TTL y CMOS), es usual que el propio circuito incluya salidas 
dobles, cada una de ellas compatible con los niveles e impedancias de una familia concreta. 

La tabla adjunta resume los distintos parametros que caracterizan a una familia logica con una 
descripcion resumida de los distintos conceptos que sirven para evaluar cada una de estas 
caracteristicas. 



174 



Tema3: Familias LOgicas (I): TTL 



Caracterizacion de las distintas familias logicas 


^ Caracteristicas 
Estaticas 


tt Caracteristicas 
de Transferencia 


^ Niveles logicos 

A Salto logico 

^ Punto umbral 

*0* Puntos de ganancia unidad 

^ Anchura de transicion 


H Caracteristicas de Entrada y Salida 


-f Transitorios 


n Tiempos de retardo 
H Tiempo de subida 
n Tiempo de bajada 


-^ Ruido 


tf Sensibilidad al ruido 

n Rechazo del ruido 

H Inmunidad ^ Margen de ruido en "0" y " 1" 


-f Consumo 


-f Flexibilidad 
Logica 


n Compatibilidad y acoplo con otras familias 

H Cableado logico 

n Salidas complementarias 

n Capacidad de excitacion (fan-out, open colector) 

H Puertas multiples 

tt Posibilidad de usos altemativos 



3.3 Logica Resistencia-Transistor 

Ya vimos en el tema anterior el funcionamiento del inversor usando transistores bipolares. 
Recordemos que se trataba simplemente de una etapa amplificadora en emisor comiin con una 
eleccion adecuada de las resistencias Rb y Re, para que cuando la senal en la base del transistor 
conmutaba entre los niveles logicos v("0 ") y v("l "), hacia que la serial en el colector conmutara entre 
v("l") y v("0"), respectivamente. Asi pues, el transistor trabajaba pasando del estado decorte 
[vq = +Vcc - v("^ ")] al de saturacion [v^ >^0,2V= v("0")] y viceversa. 



175 



Electr6nica Digital 



La. figura 3.4 ilustra el circuito correspondiente a la puerta "NOR" de tres entradas en RTL. 
Cada entrada usa un transistor y los colectores de los transistores estan unidos y apoyados a 
la fuente de alimentacion a traves de Rq- Trabaja en logica positiva, es decir v("l") = 1,8 V 
yvC'0") = 0,2V. 




(b) 



ABC 


(NOR) 



1 

1 

1 1 1 


1 



• 





9 K 



cc 



>Rc=64on 



IR 



C 



4i 



RB=450n , / 

^ — v\^ ^[C Rc: 



Rb=450Q. , V 
^BEsah 




BEsat=0,75Vs X 



Figura. 3.4. Puerta NOR en RTL. (a) Circuito basico y tabla de verdad. (b) Ilustracion del calculo del "fan-out" 
y del margen de ruido. 



176 



Tema3: Familias LOgicas (I): TTL 



Como se trata de una puerta NOR tendremos que comprobar su comportamiento en dos 
situaciones. Primero cuando las tres entradas son cero y, por consiguiente, la salida tiene que ser uno. 
Para el resto de las configuraciones en las que una o mas de las entradas esten en alta, la salida debe 
ser cero. 

Veamos primero que pasa cuando todas las entradas estan en baja (A=B=C="0"). Entonces los 
tres transistores, Ta, Tb y Tc, estan al corte y no hay contribucion a la corriente que atraviesa Re de 
ninguno de los tres colectores. Por consiguiente la tension de salida, Vq ,tiende a aproximarse a la 
tension de alimentacion (Vcc^3 V). 

Vo = Vcc - Rc Ic = v("l ") [3.2.] 

Para conocer con precision el valor final de la tension de salida en el estado de alta necesitamos 
conocer cual es el numero de puertas que se conectan. Cuantas mas se conecten, menor sera el valor 
de la impedancia paralelo correspondiente y, por consiguiente, mayor el valor de la corriente Iq. Esta 
variacion en el valor de Ic hara que sea tambien mayor la caida en la resistencia de colector Rq- El 
limite se establece al evitar que se confunda el estado de alta. 

Por el contrario, para el resto de las configuraciones de entrada (desde 001 hasta 111), 
siempre hay una entrada en alta. Como bastan 0,6 V para hacer conducir al transistor 
yv("\") = 1,8 > 0,6, el transistor correspondiente pasa a saturacion y fija la tension de salida 
a VcE(sat) = 0,2 V, es decir a v("Q ") dando lugar al comportamiento NOR. 

Este circuito presenta bajo valor de conectividad ("fan-out") y bajo margen de ruido, pero 
ilustra claramente el significado de estos parametros (figura 3.4.b). Cada nueva puerta NOR en RTL 
que se conecte a la salida de una puerta de prueba contribuye con una via a tierra formada por Rb y la 
union base-emisor de un transistor que en saturacion vale 0,75 V. Por consiguiente, el efecto de la 
carga sera, 

Vrr - 0,75 ■ 
vo=ycc-Rcic=Vcc-Rc--^ -^— [3.3] 

R ^ B 

n 

Al aumentar n, disminuye Vq por lo que hay im valor maximo de « a partir del cual se confunde 
el estado. Esto hace que el margen de ruido de este circuito y su grado de conectividad sean muy 
bajos. 



177 



Electr6nica Digital 



Ejercicio: Analizar el circuito de la figura y comprobar que es una puerta NOR si interpretamos 
como "1 " logico +12 Vy como "0" logico los V. 



R] lOkn 
Ao WW — I 

R2 lOkQ. 
Bo V^AA' 



Entradas 



vC'l ") = +12 V 
v("0")= OV 




Figura 3.5. Puerta NOR RTL y en logica positiva. 



Solucion: 



Este circuito es una puerta NOR para logica positiva porque basta con que una de las entradas 
este a "1", es decir que su tension de entrada sea 12 V, para que la tension Base-Emisor del transistor 

supere la tension de saturacion de dicha union (Vbe ^0,S V). En estas condiciones el transistor esta 
en saturacion y, por consiguiente, su tension de Colector-Emisor es despreciable (siempre menor que 
0,2 V), lo que corresponde al "0" logico. 

Solo en el caso en que las dos entradas esten a "0", es decir que su tension sea de V, el 
transistor no conducira, ya que la tension Base-Emisor no supera la tension de despegue de la union. 
En esta caso la salida estara a 12 V, es decir en "1" logico. 

Podemos calcular analiticamente estas dos condiciones y, por consiguiente, obtener la tabla de 
verdad. 

1. Ante 01 y 10 \a configtjracion de entrada es la de \a figura 3.6. Si despreciamos el pequeno 
valor de la corriente de Base podemos estimar el valor de la tension Base-Emisor a traves de un 
simple partidor de tension {Rj, R^^) tal como se muestra en la figura. El valor obtenido 
(0,999 V) garantiza la saturacion del transistor. 



178 



Tema 3: Familias LOgicas (I): TTL 



+12 V 



Ri lOkn 

o WW — I 



+]2V 




R^„=li:^^JMl:Iokn_^go9n 



-eg 



R2+R4 IkQ + lOkn 



VbE=12^ 



R. 



eq 



Rj+R, 



= 0,999V 



eq 



Figura 3.6. Circuito correspondiente a las entradas 01 y 10. 

2. Ante la configuracion de entrada 11, el circuito es el que se muestra en la figura 3. 7, con lo que 
de nuevo supera los 0,5 Fy el transistor esta en saturacion. 

+12 V 



+12 V 




R = ^rR2 ^ lOkQiokn _ 
^^ RJ+R2 iokn+iokn~ 



Vbe=12- 



Ra 



R4+R, 



= 2V 



■eq 



Figura 3. 7. Circuito correspondiente a la entrada 1 1 

3. Ante la configuracion de entrada 00, el circuito de entrada esta formado por las tres resistencias 
en paralelo (Rj, R^ y R4) uniendo la base a tierra y, obviamente, Vbe = , el transistor no 
conduce (/c = 0) y la tension de salida es: Vo = 12- Ic Re = 12 V. 

Podemos ahora usar el simulador para comprobar que el circuito se comporta efectivamente 
como una puerta NOR {figura 3.8). 



179 



ElectrOnica Digital 




20U 



T" 



ou 



20U 



0U 



20U 











□ U(U2:+) 



SEL»; 1 \ 

0IJ + ^V_ 

Os 1 .Ous 

□ U(salida) 



















2. Ous 



3. Ous 



Time 



<4.0us 



Figura 3.8. Simulacion y obtencion de la tabla de verdad de una puerta NOR. 



D U(U1 :+) 












T 












- 1 


1 


1 


1 





5. Ous 6. Ous 



Ejercicio: ^Que modificaciones tendriamos que introducir en el circuito NOR del ejercicio anterior 
para convertirlo en una puerta HAND? 



180 



Tema 3: Familias L6gicas (I): TTL 



Solucion: 

Para convertir este circuito de NOR a NAND tendriamos que realizar las siguientes 
modificaciones: 

1. Pasar de transistor NPN a PNP y polarizarlo con -12 V. 

2. Cambiar el criterio de asignacion de los valores logicos "0" y "1" a valores de tension 
haciendo: 

"1 " logico (alta) =^ V 

"0" logico (baja) => -12 V 

En estas condiciones, es facil comprobar que el circuito se comporta como una puerta NAND 
(figura 3.9). 



z' 


v("l ")=0V 


Entradas 






v("0")=-12V 


V 



Ri lOkQ 
A o ^A/VV — I 

R2 lOkQ 
BO WW 




A 


B 


v„ (NAND) 


-12 V ("0") 


-12 V ("0") 


OV ("1") 


-12 V ("0") 


OV ("1") 


OV ("1") 


OV ("1") 


-12 V ("0") 


OV ("1") 


OV ("1") 


OV ("1") 


-12 V ("0") 



Figura 3. 9. Puerta NAND en RTL 



181 



ElectrOnica Digital 



3.4. LOGICA Diodo-Transistor (DTL) 

Al realizar la logica con diodos y usar al transistor como sumador se obtiene mejor "fan-out" y 
mejor margen de ruido. Este tipo de circuito es la base de la familia TTL que comentaremos a 
continuacion. Su interes es puramente academico. 

Lafigura 3.10 muestra el circuito correspondiente a una puerta NAND de dos entradas. La 
funcion logica la realizan los diodos Di y D2 y el transistor de salida, Tj, se utiliza para ampliflcacion 
e inversion. Recordemos que VcE(sat) = 0,2 V, Vg£ (sat) = 0,8 F y Vofon) « 0,7 Vy veamos 
primero el funcionamiento cualitativo. 

La funcion NAND debe proporcionar, par logica positiva, una salida en alta 
(vo="r-5 V) ante (00, 01 y 10) y una salida en baja (v^ = "0" = 0,2 V) ante (11). Veamos 
que es asi. 

Para las tres configuraciones (00, 01 6 10) siempre hay alguna entrada que esta 
apoyada a 0,2 V, por consiguiente la tension en el punto P sera: 

Vp = 0,2 + Vd^0,2 + 0,7 = 0,9 V. [3.4] 

donde hemos supuesto que 0,7 Fes la caida de potencial en el diodo cuando este conduce. El circuito 
equivalente ahora es el de \afigura 3.10.b. 

Para que el transistor conduzca hace falta que en el punto P haya una tension suficiente para 
hacer conducir a los dos diodos D3 y D4 y que todavia quede tension suficiente para que el transistor 
pase a zona activa y conduzca. Asi, la Vp necesaria para que el transistor conduzca sera: 

^P = 2 • 0,7 + VBEsat = 1,4 + 0,8 = 2,2 V [3.5] 

Como tenemos Vp = 0,9 V < 2,2 F, Ti no conduce y Vq «5 F. 

Veamos ahora la respuesta a la configuracion (11) para comprobar que funciona como una 
puerta NAND. Si las dos entradas estan en alta (5 V) aparece el circuito equivalente de lafigura 
3.10.C. Los diodos Di y D2 no conducen pero si conducen en cambio D3 y D4 y el valor de Vp es, 

Vp = V(D3) + V(D4) + VBEsat = 0,7 + 0,7 + 0,8 = 2,2 V [3. 6] 

Esto significa que los diodos de entrada se encuentran con una polarizacion inversa de 
5-2,2 = 2,8 Fjustificando nuestra suposicion inicial de que estaban al corte. 



182 



Tema 3: Familias LOgicas (I): TTL 



5Kn 



2.2KQ. 



B 



D, 



Nd. " ► l ►l 



(a) 



0.2V 



A .^D 








0,8V 

5Kn 



(b) 



Vp=0,9V Vp=2,2V 



X 



cc 



5KQ 



Vp=2,2V 



F- 



(c) 



5V 

B 

5V 



■ 1 ^°' P > l °^ ^1 ^ I w l<T. 






o,8r---. 



'Do 



F/^Mro. 5.7ft Resumen del comportamiento de la puerta NAND en DTL para dos entradas y logica positiva. (a) 
Circuito basico. (b) Circuito equivalente para (00, 01, 10) y calculo de la Vp necesaria para que Tj 
conduzca. (c) Circuito equivalente para la configuracion (11). 



183 



Electr6nica Digital 



3.5. Logic A Transistor-Transistor (TTL). 

Esta es la familia logica mas importante y de uso actual en tecnologia bipolar por su aha 
velocidad, alto fan-out y alta flexibilidad logica. El funcionamiento de la puerta basica (NAND) es 
analogo al de la correspondiente DTL, sustituyendo los diodos de entrada por un transistor 
multiemisor cuya union de colector sustituye a su vez a los diodos de umbral D3 y D4. Se aiiade 
ademas una nueva etapa de salida en forma de par active (totem-pole) que actiia como una fuente de 
intensidad aumentando el fan-out y la velocidad. El origen de la familia TTL fue intentar minimizar la 
capacidad parasita {Ccs, colector-sustrato) de la union N-P de T2. Esta union esta polarizada en 
sentido inverso y por consiguiente su capacidad de transicion sera tanto menor cuanto menor sea el 
area de la union. Lafigura 3.11 ilustra el paso de la estructura DTL a la TTL. 




Figura. 3.11. Paso de DTL a TTL. 

El transistor multiemisor Ti sustituye las funciones de los diodos de logica y umbral en DTL y 
presenta un camino de baja impedancia para extraer la carga de T2 hacia tierra en el paso de 
saturacion a corte, aumentando asi la velocidad de conmutacion. En resumen el transistor multiemisor 
sustituye la funcion del nudo de diodos de entrada haciendo ademas un camino de baja impedancia 
desde la base de T2 a tierra. En esta accion transistor Ti extrae rapidamente la carga almacenada en la 
base del transistor T2 haciendo que TTL sea la familia saturada mas rapida. 

La otra modificacion de DTL que configura la topologia tipica de la familia TTL es la inclusion 



184 



Tema 3: Familias L6gicas (I); TTL 



de una etapa activa en cascada a la salida que permite la descarga de C/, por el transistor en zona 
activa y la carga de Ci por el transistor en saturacion, como veremos mas adelante. 

Al ser esta familia un estandar de uso muy frecuente la estudiaremos con mas profundidad 
analizando la puerta NAND basica, viendo otras puertas, comentando las mejoras introducidas sobre 
el diseno de base (Schottky y Schottky de baja potencia) y terminando el tema con datos de catalog©. 

3.5.1. Puerta NAND en TTL. 

ha. figura 3. 12. a muestra el circuito NAND basico de dos entradas y la. figura 3.1 2.b el esquema 
parcial para el analisis de la transicion ante el cambio en las configuraciones de entrada. 
Cualitativamente podemos considerar que los emisores multiples de T] y su union colector-base 
sustituyen a los diodos de entrada de DTL y a los de fijacion de umbral (Di, D2). 

Si al menos una entrada esta en baja, V(0) = 0,2 V, entonces V(P) = 0,2+0,7 = 0,9 Funa de las 
uniones base- emisor conduce y fija la tension en P. Para que la union de colector de Ti este 
polarizada en sentido directo y T2 pase a conduccion se necesitaria del orden de 3-0,7 = 2,1 V. 
Como solo hay 0,9 V, Tj y T3 estan al corte y la tension de salida sube hacia el valor de la fuente de 
alimentacion: 

vo = V("l") ^V. [3.7] 

Si todas las entradas estan en alta, V = 5 V, los diodos base-emisor de Ti estan al corte, 
polarizados en sentido inverso y V(P) tiende hacia 5 V. Por consiguiente, T2 y T3 estan en saturacion y 
aparece a la salida 

Vo = VcE sat = 0,2 V.^ VfO") [3.8] 

y Vp queda sujeta a 2,3 V. 



Vp-vll 



sat 



+ F^^ (f^ de un diodo) = 0,8 + 0,8 + 0,7 ^ 2,3V 

sat [3.9] 



Tal como hemos explicado el funcionamiento parece que Ti actiia como dos diodos opuestos y 
no como un transistor. Sin embargo durante el paso al corte, Tj actiia como un transistor y reduce el 
tiempo de almacenamiento necesario para extraer el exceso de carga en la base de T2 que estaba en 
saturacion. Por otra parte la capacidad parasita colector-sustrato de Ti esta cargada a un cierto 
potencial. 



185 



ElectrOnica Digital 



Vcc(5V) 




(b) 



^CC 5V 



Rj \4KQ. 



A 


B 


Vo (NAND) 





1 

1 




1 



1 


« Vcc "1" 
>«Vcc "1" 
>»Vcc "1" 
>s0,2 V "0" 



O.PF'P 



directa 

ojvf 



'-•^ inversa 



0.2V 



B ^T,^ TTA 



0,8V'---. 



■^-f^ 



o,8r- 



IKQ. 



Figura 3.12. Puerta NAND en TTL. (a) Circuito basico. (b) Analisis de la transicion. 

Si hacemos una transicion de alta a baja en cualquiera de los emisores de Ti, la union base- 
emisor de Ti queda polarizada en sentido directo, de forma que Ti queda polarizado en zona activa 



186 



Tema 3: Familias L6gicas (1): TTL 



directa ya que (figura 3.12.b): 

Vb{T2)=0,^ + Q,^ = \,6 = Vc{Ti) ^^jqj 

Vb{Ti) :^ 0,2 + Vbe =0,9 ^^^jj 

Esta accion transistor de Ti provoca un paso considerable de corriente por Ic] que descarga 
rapidamente la capacidad parasita Ccs Y la base de T2, pasandolo a corte en poco tiempo. Alcanzada 
esta situacion, Ti permanece conduciendo una pequena corriente (la inversa de T2), En estas 
condiciones, la distribucion de corrientes es la que se muestra en la. figura 3.13 y la salida es 



Vo=5-I2R2-Vbe,-Vd^ 
dando en general un valor comprendido entre 3,5 y 4 F. 



[3.12] 



R, 



'1 i 



■4KD. 



0.4V(max)' 



±^ 



B 



Vcc(5V) 



l,4Kd 



WOO. 




v„ =3,5Va4V 



Figura 3.13. Puerta NAND en TTL. Distribucion de corrientes al final de la transicion. 

Hemes visto la accion de Ti. Sigamos adelante viendo como actiia T2. Este transistor actiia 
como amplificador saturable, en configuracion parafase. Suministra corriente altemativamente a las 
bases de T3 y T4 que forman la etapa de salida. 

Veamos por que se disefia asi esta etapa. En la salida de DTL y TTL existe una carga 



187 



Electr6nica Digital 



capacitiva, Q,, debida a las capacidades de transicion de los diodos de entrada en la puerta siguiente, 
polarizados en sentido inverso. Si tuvieramos una salida por Re, cuando la puerta conmuta de baja a 
alta, el condensador se carga desde VcEsat ^^^^^ ^CC"^ 5 V exponencialmente con una constante de 
tiempo r = Rq Ci (figura 3. 14. a). Asi, disminuir el retardo exige disminuir Re, pero esto aumenta la 
disipacion de potencia en saturacion. 



CC 



R 



C 



-K 4 



(a) 



-~K 



IV 

> 



2 \ 0,2V 



V^ 



0.8V- 



(b) 



CC 



CEsat 



^^ V 




\ ^ 


T4 


0,8V^-~--. 




V 

T ^ 




saturado ' ] 






jo. 


(c) 


1 



corte 



c, 



\0,6V 




/0,2 V 



Figura 3.14. Detalles de justificacion del diseno de la etapa de salida en TTL. (a) Ilustracion de la carga 
del condensador, Q,. (b) T2 y T3 estan en saturacion cuando la salida esta en baja . (c) T4 y T3 sin 
Do- T4 deberia estar al corte pero no lo esta. (d) Ahora, al introducir Dq, T4 ya esta al corte. 

La solucion TTL es sustituir Re por un transistor T4, que forma un par active con T3. En la 
base de T3 se aiiade una resistencia, R3, para retirar la carga almacenada en la base de T3 cuando este 



188 



Tema 3: Familias L6gicas (I): TTL 



tiene que pasar de saturacion a corte. T4 actua como seguidor de emisor generando una baja 
impedancia de salida. El diodo Dq evita que T4 conduzca cuando T3 esta en saturacion, ofreciendole 
una resistencia de colector alta. 

En la transicion de T3 de saturacion a corte, existe un intervalo en el que T3 y T4 conducen, 
ofreciendo un camino de baja impedancia de Vcc a tierra, y un pico de corriente que lo evita Dq, 
minimizando asf el consume. 

Pasemos a analizarlo de forma cualitativa. La salida esta en baja cuando T2 y T3 estan en 
saturacion (figura S.M.b). En este caso, T4 deberia estar al corte. Veamos que sin Dq, no lo esta. 
Analizando 3.14.C, tenemos que: 

vli =1-0,2 = 0,8V 

[3.13] 

Por lo que deberia estar en saturacion y no en corte. Veamos como al introducir Dq, se resuelve 
este problema debido a la caida de 0,6 Fque provoca, tal como se ilustra en \a figura 3.14.d. 

Observese que Dq tambien influye disminuyendo el consumo. Ahora, si estamos en alta a la 
salida, Q esta cargado a V("\ "). Si excitamos la puerta, T4 y Dq van al corte y T3 conduce y descarga 
rapidamente Q y en la otra transicion se carga de nuevo, tal como se ilustra en \a figura 3.1 5. a. 

En esta segunda transicion, se parte de T3 en saturacion ifigura 3.1 5. b) y se calculan las 
corrientes de base y colector en T4 [Ib(T4) = 2,3 mA] e [/cW=39 mA] con lo que podemos calcular 
el valor de la ganancia minima necesaria para que T4 este en saturacion (hfg min = Idh = 39/2,36 = 
16,5). Como la ganancia real suele ser >7,5, podemos asegurar que T4 esta en saturacion, 
como habiamos supuesto, y carga a Q a corriente constante hacia la fuente de alimentacion, 
Vcc ~ 5 Fcon una constante de tiempo r, 

r = [lOO + Rl^^+Rj.^CAs\cL 

[3.14] 

pero al aumentar Vq, disminuye Ic4, T4 sale de saturacion y Vq alcanza un valor estacionario. Asi pues 
el valor de la tension de salida en este caso sera: 

^o=5-vl''^-Vo=5- 0,5 -0,6 « 3,9V ^ vh ") 

[3.15] 



189 



ElectrOnica Digital 




Vcc(5V) 



R2 
1 '4KO. S \ 2'36mA 

1,7V ^v 



VK 



R4 

lOOQ 
I 39mA 



0,8V' 



T4 ]0.2V 



^ V 34=0,8+0,7+0,2^1,7 V 



^B4- 



1,4 



=2,36 mA 



(b) 



-K 



^T - 5-0,2-0,2-0,7 „ . 
^^C4 Q-j =39 mA 



3 0.2V 



Figura. 3.15. Configiiracion del analisis de la etapa de salida. (a) Carga y descarga de Cl en las 
transiciones. (b) Analisis de la transicion, partiendo de T3 en saturacion. 

La figura 3.16 muestra la caracteristica de transferencia de esta familia. Ya conocemos v("0") 
y v("l "). Veamos ahora la transicion. El estado de alta permanece practicamente hasta que v/ «0,4 6 
0,5 F y Fg/ » 1,1 6 1,2 F y Ti entra en -zona activa con T2 que presenta una ganancia 
controlada por R2/R3. Como T4 sigue en conduccion, la salida es por seguidor por emisor y 
sigue a la tension en el colector de T2 (hasta el punto A), donde entra en conduccion T3. 



190 



Tema 3: Familias LOgicas (I): TTL 



Para v « 1,4 Fya se saturan T2 y T3 y el circuito NAND alcanza el nuevo estacionario. 



Rango de Vq 

garantizado 

para "1 " 



Rango de Vg ^ 
garantizado 
para "0" T 




T4 (seguidor por Emisor) 



(entra en conduccion T3 ) 



(se satura T^) 



0',5 0,8 1,25 1,5 



Rango de y 

permitido 
para "0" 



Rango de v- 
permitido 
para "I " 



Figura. 3.16. Caracteristica de transferencia 

Sobre esta configuracion concreta que hemos analizado existen muchas modificaciones 
especificas cuyo estudio queda totalmente fuera del proposito de este texto. Solo queremos comentar 
que la salida por par activo (T3, T4) posee ventajas de baja impedancia de salida en ambos estados 
logicos y es la responsable del alto "fan-out", alta velocidad y alta inmunidad al ruido. Sin embargo 
esta configuracion no permite el cableado logico. Si una salida esta en alta y la otra en baja siempre 
existe un transistor T4 en saturacion 6 uno T3 en conduccion, que conectados por el cableado extemo 
producen elevadas corrientes en ambos transistores que pueden destruirlos. Ademas esta corriente 
sacaria a T4 de saturacion y confundiria a v("0") con v("\ ") {figura 3.17). Por esto nace la solucion 
de realizar puertas con colector abierto y resistencias de apoyo a la fuente externa de alimentacion 
Vcc (series '"open colector"). 



191 



Electr6nica Digital 




Figura.3.17. Colector abierto. (a) Necesidad de abrir los colectores y poner resistencias extemas si queremos 
hacer "cableado logico", es decir obtener nuevas funciones a traves de la conexion directa de 
circuitos mas elementales. (b) Solucion de colector abierto. 

Ahora ya podemos realizar funciones cableadas. Asi por ejemplo la funcion de la. figura S.lS.a. 
se puede realizar con cableado logico mediante la conexion que se muestra en la figura S.lS.b. La 
resistencia externa proporciona un camino de carga a las capacidades intemas (Q„) de las puertas que 
se conectan a la salida, Y, y su valor es el de la solucion de compromiso entre velocidad, fan-out, 
disipacion y ruido. Si el valor de esta resistencia externa es alto el consumo sera bajo, pero la 
impedancia de salida y las constantes de tiempo seran elevadas. Si la resistencia externa se pone 
pequena el fan-out disminuye. La serie 74 de circuitos integrados TTL incluye soluciones de colector 
abierto. Existen tambien en TTL puertas de tres estados para la entrada o salida de datos a un canal 
comiin al que estan conectadas distintas areas de calculo o de memoria en un circuito digital de las 
que hablaremos en el siguiente apartado. 



192 



Tema 3: Familias L6gicas (I): TTL 



7 — y=ABCD 




y=ABCD 



Figura. 3.18. Colector abierto. (a) Ejemplo de realizacion de una fiincion ( AB ■ CD ) de forma convencional. 
(b) Realizacion de la misma funcion mediante cableado logico. 

Veamos algunas conclusiones sobre TTL. Su linico inconveniente es la generacion de ruido por 
los picos de corriente que se generan durante las transiciones de estado de la etapa de salida en par 
active. Esto hace necesario el uso de condensadores de desacoplo extemos. 

Sus principales ventajas son: 

1. Gran flexibilidad logica. 

2. Baja impedancia de salida en "0" y "1". 

3. Buena inmunidad al ruido. 

Hemos visto en el apartado anterior la estructura interna de una puerta NAND en TTL basica. 
A partir de aqui y desde 1965 se ban ido introduciendo variantes y mejoras encaminadas a aumentar la 



193 



Electr6nica Digital 



velocidad y disminuir el consume y a resolver problemas especificos de disefio. De estas variantes 
comentaremos despues las series en colector abierto y las puertas de tres estados ("0", "1" y alta 
impedancia). Vamos a mencionar ahora las variantes Schottky que dan lugar a las soluciones actuales 
de alta velocidad (serie 74AS) y bajo consumo (serie 74ALS, "Advanced Low Power"). El origen de 
las series Schottky esta en el intento de eliminar el tiempo de almacenamiento asociado a las uniones 
colector-base de los transistores. Para ello se conecta en paralelo con la union de colector un diodo de 
union metal-semiconductor (diodo Schottky) que es muy rapido debido a que no almacena carga y fija 
la tension base-colector a un valor bajo. 

3.6. Puertas TTL de Tres Estados 

Una forma frecuente y eficaz de conectar distintos circuitos logicos es el bus (barra de cables 
conductores compartidos por un conjunto de circuitos) , en donde una serial transmitida por uno 
cualquiera de los circuitos conectados puede ser recibida por cualquiera de los otros circuitos 
conectados. Para que esto sea posible electronicamente debemos dotar a las puertas logicas de un 
tercer estado de alta impedancia que desconecte funcionalmente a todos los circuitos no 
seleccionados, aunque estan fisicamente conectados al bus. Asi, cada puerta logica puede transmitir 
cada uno de sus dos estados logicos ("0" 6 "1") cuando esta funcionalmente conectada o quedar 
inhibida, en estado de alta impedancia, mientras accede al bus cualquiera de las otras puertas 
conectadas. 

La figura 3.19 muestra el circuito de una puerta NAND TTL basica, como la que hemos 
analizado con detalle previamente ifigura 3. 12. a) modificada adecuadamente para incluir el nuevo 
estado de alta impedancia. Para ello, hemos incluido un nuevo emisor en el transistor multiemisor Tiy 
hemos aiiadido un nuevo transistor, T5, y un diodo Di. Cuando la entrada de facilitacion en la base de 
T5 esta en baja el transistor (NPN) no conduce, el diodo Di no altera la tension de colector de J 2 Y el 
circuito de salida funciona de forma normal, pasando a alta cuando en los otros dos emisores del 
transistor multiemisor T] hay 00, 01 6 10 y pasando a baja ante 11. Es decir, la puerta NAND esta 
fisica y funcionalmente conectada al bus. 

En cambio, cuando la entrada de facilitacion esta en alta, el transistor T5 conduce y el tercer 
emisor de T] se fija al valor de saturacion de la tension colector-emisor de T5. Por consiguiente, el 
diodo D] conduce y corta a T2, T3 y T4, haciendo que la salida quede aislada tanto de tierra como de 



194 



Tema 3: Famiuas L6gicas (I): TTL 



la fuente Vcc por una alta impedancia (tercer estado), independientemente de la configuracion logica 
que exista en ese momento en los otros emisores (A y B) del transistor multiemisor, Ti. 
Evidentemente, en un circuito integrado real el proceso es mas complejo, pero la idea del diseno es 
siempre la misma: Incluir una entrada adicional que permita aislar la salida de fuente y tierra por una 
alta impedancia de forma que aunque el circuito este fisicamente conectado al bus, pueda no estarlo 
funcionalmente. 



VccPV) 



Bus 



facilitacidn/inhibicion 
depuerta (1) 



4Kil 



'.=w:- 



•i 




4KO. 



:=f^ 



— k. 

facilitacion/inhibicidn I ^ 
depuerta (n) 



Vcci^V) 




Figura 3.19. Puertas TTL de tres estados para conexion a bus. 



195 



Electr6nica Digital 



Esta entrada adicional se representa como se ilustra en \afigura 3.20, donde se incluye tambien 
la tabla de verdad. 




/ A 


B 


salida 








1 





1 


1 


1 





1 


1 


1 





1 





Aha impedancia 


1 


1 


Aha impedancia 


1 1 





Aha impedancia 


1 1 


1 


Aha impedancia 



Figura 3.20. Simbolo logico y tabla de verdad de las puertas de tres estados. 

3.7. Datos de Catalogo. 

Salvo en casos extremadamente sencillos es poco probable que nos baste con algunas puertas 
logicas para resolver de forma completa un problema real. Sera necesario conectar varios circuitos o 
buscar funciones integradas mas complejas. Dependiendo del grado de integracion las funciones se 
agrupan en cuatro apartados: SSI (integracion en pequena escala), MSI (integracion "media escala"), 
LSI y VLSI (integracion en "gran escala" y en "muy gran escala"). En el primer nivel tenemos 
circuitos con algunas puertas, en el segundo funciones tipo contador o registro y en el tercero y cuarto 
memorias y circuitos de complicacion en el entomo de los microprocesadores. 

Para acercamos al campo de las aplicaciones deben usarse catalogos globales tipo IC -MASTER 
que organizan los circuitos en terminos de su campo de aplicacion e independientes del fabricante y, 
posteriormente, los catalogos del fabricante seleccionado (Texas Instruments, Fairchild, Motorola, 
AMD, etc.). En digital, los circuitos aparecen ordenados por familias CMOS, ECL, GaAs o TTL y 
dentro de cada familia por bloques funcionales: funciones aritmeticas, inversores, "buffers", 
contadores, decodificadores, memorias, multiplexos, osciladores, registros de desplazamiento, 
procesadores digitales de sefial (DSP), etc... 



196 



Tema3: Familias L6gicas (I): TTL 



Mas adelante comentaremos algunos ejemplos dentro de estos bloques funcionales, casi todos 
en los niveles MSI y LSI. Ahora vamos a centramos en el primer nivel (SSI) donde existen circuitos 
del tipo: 

4 puertas NAND de 2 entradas: SN74AS-00 

4 puertas NOR de 2 entradas: SN74AS-02 

4 puertas NAND de 2 entradas con salidas en colector abierto: SN74ALS-03B 

Las puertas en SSI estan organizadas en apartados tales como: Puertas NAND y puertas NOR 
con y sin colector abierto, expansores, "buffers", "drivers" y "transceivers", circuitos biestables, 
monoestables y multivibradores. 

En todos los casos los circuitos participan de los parametros de la familia, que se ofrecen 
medidos "en el peor de los casos" y se garantizan dentro del intervalo de temperaturas que caracteriza 
a la serie. Las series 54ALS y 54AS pueden operar entre -55 y 125°C (rango militar) y las series 
74ALS y 74AS entre cero y 70°C. 

La velocidad de conmutacion se caracteriza por dos parametros: tpHL (tiempo de retardo de 
propagacion para el paso de salida en alta a salida en baja) y tpin (tiempo de transicion de baja a alta) 
Ambos parametros se especifican para un pulso de entrada y condiciones de carga usuales 
(alimentacion entre 4,5 y 5,5 V, C/^=50 pF, Ri=500 Q y temperatura dentro del rango de la serie). 
Bajo estas condiciones los tiempos son del orden de 4 ns para ALS y \,7 ns para AS. 

Los margenes de ruido en continua especifican los incrementos de tension que todavia 
garantizan el perfecto funcionamiento del circuito, sin confundir sus niveles logicos. Como vimos al 
comienzo del tema, se define para todas las familias como la diferencia entre el valor de la entrada en 
el peor de los casos (VlHminimo 6 ^IL mdximo) Y 1^ salida garantizada tambien en el peor de los casos 
{VoHminima 6 ^OLmdxima) especificada para atacar a otras entradas. 

La tension de entrada en estas series puede encontrarse en una de estas tres regiones: baja 
(entre tierra y 0,8 V), umbral de transicion (entre 0,8 y 2 F) y alta (entre 2 Fy la alimentacion). Si, 
como consecuencia del ruido, una tension de entrada realiza excursiones que no la hacen salir de los 
estados de baja o alta en los que se encontraria en ausencia de ruido, no hay problema. Asi, para las 
familias AS y ALS podemos admitir cambios en baja entre 0,8 Vy tierra y en alta entre 2 Vy 5,5 Fsin 
que produzcan ningun efecto sobre la salida del circuito. Cuando se realiza una transicion sin querer o 



197 



Electr6nica Digital 



no se realiza queriendo, decimos que el circuito ha perdido su funcion debido al ruido. El ruido en 
continua no es la linica causa de error. La existencia de acoplos capacitivos entre puertas hace 
necesario considerar en muchas aplicaciones el efecto del ruido dinamico. Su tratamiento sin embargo 
queda fuera del alcance de este curso. 

3.8. Problemas ^*^ 

E.3.1. El circuito de la figura adjunta es un sencillo inversor realizado con un transistor bipolar 
NPN con ganancia en corriente /3f=]00, tension de despegue Vbe(ON) = 0,5 V y 
VcE(sat) = 0,2 V. Construir su caracteristica de transferencia, Vc = /(vg), distinguir las 
regiones de corte, transicion y saturacion. ^Que rango de valores debe tomar la entrada, 
Vb, para que el inversor recorra toda la caracteristica de transferencia?. Es decir, icudl 
debe ser el valor de Vb(0) y de Vb(I) para asegurar la conmutacion? . 

+10 V 



IkQ 



IVb ("0")? -■ 



lOkQ 

AAAV 



Vc =m ) 



Vb 



90kQ' 



-lOV 



E.3.2. El circuito de la figura muestra un inversor polarizado con una sola fiiente de 5 V. La 
ganancia en corriente para continua es Pf>80 y VcE(sat) = 0,2 V. ^Cudl debe ser el 
valor de Rg para garantizar la saturacion sabiendo que Re = JkD y que VBE(sat) = 
0,8 V?. 



(•) 



La solucion de estos ejercicios se encuentra en el texto de problemas. 



198 



Tema 3: Familias LOgicas (I): TTL 



iR.? 




Vrr=5Y 



o 'CC 



E.3.3. En DTL la logica AND y OR la realizan los diodos. ^Que funcion realizan los sencillos 
circuitos de las figuras 3. 3. a y 3.3.b.?. ^Como podrias realizar, usando solo diodos y 
resistencias, la funcion de la figura 3.3.c?. En los tres casos elegir un valor para la 
alimentacion, Vcc ypara los niveles logicos de las variables X, Y, Zy U. 




F^(X,Y,Z) 

■o 




FJX,Y,Z) 




(a) 



(b) 



(c) 



E.3.4. El circuito de la figura muestra una puerta HTL (High-Threshold-Logic) que se usa en 
aplicaciones industriales por su alta inmunidad al ruido. Se trata de una modificacion de 
DTL en la que el diodo intermedio ha sido sustituido por un zener de 7 V. Analizar el 
circuito, obtener su caracteristica de transferencia y estimar los mdrgenes de ruido en el 
nivel "0" yen el "1". 



199 



Electr6nica Digital 




E.3.5. El circuito de la figura adjunta muestra el esquema de un puerta NAND en TTL Schottky 
(ASOO). Sigue el camino de la serial desde la entrada hasta la salida para la configuracion 
(00) y cualquiera de las otras (01, por ejemplo), comparando con el andlisis seguido en el 
temapara la puerta NAND TTL bdsica, resumido en lasfiguras 3.12, 3.13. y 3.14. 



QIA 

INPUT LT 

o •- 



INPUT 




OUTPUT 

4 f — o 



^^^^ 



200 



Tema3: Familias LOgicas (I): TTL 



Preparacion de la Evaluacion 



Objetivos 



1 : Caracterizacion de Familias Logicas 
2 : Circuitos RTLy DTL 
3: Familias Logicas TTL 



1. Caracterizacion de Familias Logicas 

1.1. La caracterizacion de un circuito digital integrado se realiza solo a partir de medidas en sus 
terminales externos. ^Podria describir las tres caracteristicas estdticas y las medidas 
necesarias para obtenerlas?. 

1.2. La figura adjunta ilustra la forma de una caracteristica de transferencia para un inversor. 
Usando esta figura como apoyo, ^podria definir los siguientes pardmetros? : niveles logicas, 
salto logico, punto umbral, puntos de ganancia unidad, ancho de transicion. 



,--—Zona no lineal 



Amplificador Inversor 
de aha ganancia 




^s\ ^'— Punto Umbral 



Anchura de transicion 



^i 



201 



ElectrOnica Digital 



1.3. Las puertas logicas no suelen usarse de forma aislada sino que en general una puerta es 
excitadapor otra identicay, a su vez, ellas excitan a otras puertas de la misma familia. ^Que 
restricciones exige la condicion de compatibilidad entre entradas y salidas? . 

Recuerdese que el margen de entradas permitidas para el nivel "0", Vi(0), es aquelpara el que 
podemos garantizar que la salida es "1 ", Vo(l). Andlogamente, el margen de entradas permitidas 
para el nivel "1", vi(l), es aquel para el que podemos garantizar que la salida estd en "0", Vo(0). 
Por consiguiente, las restricciones sobre las que preguntamos tienen que ver con el margen de 
seguridad en los valores de Vi(0) y Vi(l) y en los de Vo(0) y Vo(l) que actuardn como entradas en la 
etapa siguiente. 

1.4. ^Podria explicar el significado de los pardmetros usados para caracterizar la inmunidad al 
ruido de un circuito logico?. ^Como definiria el margen de ruido en "0" y "1" sobre la 
caracteristica de transferencia? . 

2. Circuitos RTL y DTL 

2.1. ^Podria reproducir el andlisis del circuito inversor de la figura del problema E.3.1?. iQue 
rangos de valores debe tomar la entrada, Vg, para que el transistor pase de corte a saturacion 
y viceversa?. 

El problema E.3.1. es representativo de todo el comportamiento del inversor. De hecho incluye 
todo el proceso de andlisis con el cdlculo de los valores numericos en tensiones y corrientes, la 
obtencion de la caracteristica de transferencia y la simulacion del funcionamiento del transistor en 
corte, activa y saturacion. 

2.2. ^Podria proponer un inversor con una solafuente de continua (Vcc = ^ V)?. ^Cudles serian 
entonces los valores de V("0") y V("l ")?. 

2.3. ^Podria explicar el funcionamiento de la logica DTL basdndose en el funcionamiento del 
circuito de la figura adjunta?. 

Le recordamos que si tiene dificultades en la contestacion de esta cuestion puede revisar los 
ejercicios de evaluacion del tema 2 y la solucion del problema E.3.3 del texto de problemas. 

Observese que el circuito tiene dos niveles y que en el segundo nivel los diodos estdn 
conectados a la alimentacion en sentido opuesto. Tengase en cuenta tambien que en el primer nivel 



202 



Tema3: Familias L6gicas (I): TTL 



de logica el dnodo de los diodos esta conectado a una tension positiva (+Vcc) y ^« ^^ segundo nivel 
el cdtodo estd conectado a una tension negativa (- Vcc)- 




XY+ZU 



2.4. Hemos visto la sintesis de operaciones AND y OR con diodos. ^Podriamos obtener puertas 
NANDy NOR usando solo diodos y resistencias? Intente justificar la respuesta. 

3. Familia Logica TTL 

3.1. Recordando el comportamiento de los circuitos DTLy el circuito correspondiente a unapuerta 
NAND en TTL, tal como la que aparece en lafigura 3. 12. a de este tema. ^Podria distinguir que 
parte del circuito se encarga de sintetizar las dos subfunciones necesarias para la sintesis de la 
funcion NAND. Es decir, ^que parte del circuito realiza lafuncion ANDy que parte se encarga 
despues de negarla?. 

3.2. Para comprobar su nivel de comprension del funcionamiento de las puertas NAND en TTL le 
sugerimos que intente describir cualitativamente el funcionamiento de la puerta NAND de dos 
entradas de lafigura 3.12, redactando fi-ases del tipo: "si A 6 B estdn en baja (saturacion de 

una etapa anterior), tendrd 0,2 Vy como para conducir Tj necesita 0,7 V entre Base y Emisor, 
en la Base tendremos 0,9 V, etc... por consiguiente Tj no conduce y en Colector tiene 5 V. 



203 



Electr6nica Digital 



No importa tanto su respuesta concreta como la evidencia de que entiende el mapa de 
tensiones y corrientes que hace que ante la configuracion de entrada 11 la respuesta sea y 
ante cualquiera de las otras configuraciones, la respuesta sea 1. 

3.3. ^Podria enlazar el razonamiento cualitativo que le hemos pedido en el ejercicio anterior con 
los valores numericos que le ofrecemos ahora?. Justifique estos valores. Si tiene problemas 
vuelva al apartado 3.5 de este temay al texto de problemas (E.3.4y E.3.5) 

(5V) 



4YSl< 


iRj 








A 

Directa, 


)0,9V 

Inversa 




0.7 V! 
B ^T, >. IX 


T2 






0.8 V~-~--~-.^^ 




^ 




[V 


k 

— >- 


^3 






T 







3.4. Explique el resumen de la tabla adjunta, correspondiente al comportamiento de la puerta 
NAND Schottky analizada en el problema E.3.5. 



A 


B 


QlA 


eiB 


Vp^V,(Q,) 


0(F^«0,2F) 


0(Vs^0,2V) 


Conduccion 


Conduccion 


«0,9V-^0 


0{V^^0.2V) 


1 (Vb'^Vcc) 


Conduccion 


Corte 


«0,9F^0 


1 (Va^Vcc) 


0(Vs«0.2V) 


Corte 


Conduccion 


« 0,9V -^ 


1 (Va-Vcc) 


1 (Vs-Vcc) 


Corte 


Corte 


«Fee^ 1 



^^^^^ 



204 



Tema 3: Familias LOgicas (I): TTL 



En la direccion de la red www.onsemi.com se encuentran los datos de catalogo de las familias 
ALS y AS. Es conveniente que ya desde el nivel de puertas el alumno tome contacto con los circuitos 
integrados reales correspondientes a las estructuras intemas que se estudian en la Electronica Digital. 
Por consiguiente, le sugerimos que visite estas paginas y observe la estructura de los datos que 
contienen: 

^ Descripcion externa del circuito 

^ Tabla de verdad 

^ Aspecto anecdotico del encapsulado 

■^ Simbolo logico 

-y- Diagrama logico (para logica positiva y/o negativa) 

^ Caracteristicas electricas (alimentacion, niveles de alta y baja, margenes de ruido, tiempos de 
conmutacion y por consiguiente velocidad, etc. . .). 

Referencias Bibliograficas 

1. Harris, J.N., Gray, P.E., Searie, C.L.: "Digital Transistor Circuits". Semiconductor Electronics 
Education Committee, vol. 6 . John Wiley, 1966. 

2. Munoz, E. : "Circuitos Electronicos Digitales //". ETSIT. Madrid, 1981 

3. Tabu, H. and Schilling, D.: ''Electronica Digital Integrada".. Marcombo, barcelona, 1984. 

4. Texas Instruments. "The TTL Data Book". 1987. 

5. http://www.onsemi.com 



205 







Familias logicas (II): 

ECL, MOS, CMOS y BiCMOS 



-^ CONTEXTO 

Todas las familias logicas estudiadas en el tema anterior (RTL, DTL y TTL) son de logica 
saturada. Es decir, los transistores bipolares operan entre corte y saturacion. Esto limita mucho la 
velocidad de conmutacion porque cada vez que un inversor cambia de estado hay que extraer toda la 
carga almacenada en las regiones neutras y en las zonas de transicion de las uniones P-N. De hecho 
gran parte de los desarrollos tecnologicos que han marcado la evolucion de lafamilia TTL (versiones 
AS y ASL) han estado asociados a aumentar la velocidad de conmutacion sin perjudicar el consumo, 
usando diodos Schottky no saturados y de baja disipacion. 

En este tema completamos el panorama de las distintas familias logicas estudiando los 



Electr6nica Digital 



circuitos ECL, MOS, CMOSy BiCMOS. 

La familia ECL (logica de emisores acoplados) aborda el problema de la alta velocidad de 
conmutacion necesaria en muchas aplicaciones aceptando un consumo mayor y una menor 
inmunidad al ruido y haciendo trabajar a los transistores bipolares en la zona activa normal. Es 
decir, sin llegar nunca al corte ni a la saturacion. Asi, no tienen prdcticamente carga almacenada en 
la zona de transicion y la conmutacion es muy rdpida. La estructura de los circuitos ECL es andloga 
a la de un amplificador diferencial de alta ganancia. 

Lasfamilias MOS (Metal-Oxido-Semiconductor) y CMOS (MOS Complementarios de canal N 
y P) aborda el otro problema que limitaba a la TTL. Su complejidad y, por consiguiente, la baja 
densidad de integracion. Estdn basadas en los transistores unipolares de efecto campo, donde todos 
los procesos son superficiales, el consumo es menor y hace falta mucha menos area de silicio para 
integrar una determinada funcion. Por otro lado la tecnologia CMOS produce dispositivos con 
mayor aislamiento, mayor velocidad y mayor densidad de integracion, lo que la hace idonea para 
disenar circuitos estdticos y dindmicos en prdcticamente todos los campos de la Electronica Digital 
(memorias voldtiles y no voldtiles, logica programable , procesadores, etc.). 

La importancia de los procesos CMOS en el estado actual de la tecnologia de integracion en 
muy gran escala (VLSL) y "ultra gran escala (ULSI) es realmente muy alta. 

-^ -^ CONOCIMIENTO PRE VIO NECES ARIO 

Al igual que el conocimiento previo necesario para comprender el funcionamiento de los 
circuitos TTL era el de los transistores bipolares trabajando en corte y saturacion, el conocimiento 
necesario para este tema es el de los transistores bipolares trabajando en zona activa lineal (para 
ECL) y el de los transistores MOS con canal N y P trabajando en modo de realce (para MOS y 
CMOS). Todos estos conocimientos se encuentran en el tema 2. 

■^-^-^ Objetivos DEL Tema 

Objetivo 1: Comprender la Logica de Emisores Acoplados (ECL) (funcionamiento, caracteristicas 
de transferencia, niveles logicos y acoplos con otrasfamilias). 



208 



Tema4: Familias LOgicas (II): ECL, MPS, CMOS y BiCMOS 



Objetivo 2: Comprender el funcionamiento del circuito inversor bdsico en tecnologia MOS y con 
cargo activa (funcionamiento, caracteristica de transfer encia, niveles logicos y forma 
de disenar las puertas bdsicas NANDy NOR). 

Objetivo 3: Comprender la logica CMOS y la BiCMOS (funcionamiento del inversor bdsico, 
caracteristica de transferencia, comportamiento dindmico y forma de disenar las 
puertas bdsicas NANDy NOR). 

Objetivo 4: Saber comparar las distintas familias logicas (TTL, ECL, MOSy CMOS) enfuncion de 
los criterios estudiados al comienzo del capitulo 3 (velocidad, consumo, facilidad de 
integracion, inmunidad al ruido, etc...). 

^^■^-^ GUIA DE ESTUDIO 

El proceso de presentacion del material diddctico en los temas 3 y 4 se repite. Los pasos a 
seguir en cadafamilia logica son los siguientes: 

1. Proponemos un circuito bdsico (el inversor, lapuerta NAND o lapuerta NOR). 

2. Explicamos su funcionamiento siguiendo el camino de las senales desde las entradas hasta la 
salida para cada una de las configuraciones logicas posibles (00, 01, 10, 11, para el caso de 
dos entradas). 

3. Obtenemos la caracteristica de transferencia por procedimientos analiticos a de razonamiento 
cualitativo. Asi conocemos los niveles, los mdrgenes de ruido y la pendiente de la zona de 
transicion. 

4. Cuando el circuito bdsico ha sido el inversor, continuamos el estudio de la familia viendo 
como se disenan otros circuitos. En general, las puertas NAND y NOR o las puertas de 
transmision. 

5. Finalmente, valoramos la familia de acuerdo con una serie de criterios, tales como velocidad, 
consumo, mdrgenes de ruido, facilidad y densidad de integracion, etc. 

Este metodo serd tambien el que seguiremos en este tema. Los problemas resueltos 
correspondientes se encuentran en el tema 4 del texto de problemas. Aconsejamos el uso del 
simulador PSpice u otro equivalente en combinacion con el texto de problemas para simular los 



209 



ElectrOnica Digital 



distintos circuitos. El uso de la version de evaluacion del simulador tiene ciertos inconvenientes 
asociados al limite en el numero mdximo de transistores que pueden incluirse en un circuito y a la 
poca variedad en la seleccion de dispositivos, que no siempre son los mas adecuados para su uso en 
conmutacion. Sin embargo, el cardcter litre de este software y el proposito esencialmente 
pedagogico del material de este tema, hacen esencialmente ventajoso su uso. 



^^^ 



210 



Tema4: Familias L6gicas (II): ECL, MOS, CMOS Y BiCMOS 



Contenido del Tema 



4.1. LOGICA DE Emisores Acoplados 

La estructura basica de las puertas ECL es la de un amplificador diferencial con una entrada 
tomada como referenda para fijar el umbral. Esta configuracion permite ademas salidas 
complementarias (OR y NOR, por ejemplo) a traves de dos circuitos en colector comiin (seguidores 
por emisor) que toman la senal de los colectores de los transistores del par diferencial. Esto permite 
reducir las impedancias de salida, aumentar la velocidad de conmutacion debido a la ganancia en 
corriente de las etapas en colector comiin y obtener niveles de tension a la salida compatibles con las 
entradas de otras puertas de la misma familia. Desarrollaremos este apartado en tres puntos. Primero 
recordaremos la forma basica de un amplificador diferencial, despues veremos una version 
simplificada del inversor ECL que se obtiene al fijar una de las tensiones de base en un punto 
intermedio entre v(0) y v(l) y, fmalmente, veremos como se pasa del inversor a las puertas NOR. 

4.1.1 Amplificador Diferencial 

El circuito de lafigura 4.1 muestra la configuracion basica de un amplificador diferencial. El 
circuito posee dos entradas, Vi(t) y V2(t) y dos salidas Vg(t) y v^ (t) . Dada la simetria del circuito, 
al tomar la salida entre los dos colectores, se elimina la parte comiin y solo queda la diferencia. Para 
poner esto de manifiesto, definimos tambien la parte comiin, v^, y la parte diferencial, v^, de las 
entradas: 

_ vi+V2 _ vi-V2 

"c-^^ y "d-^^ [4.1] 

Es decir, siempre podremos escribir v; y V2 como: 



211 



Electr6nica Digital 



^l=Vc+Vd 



^2 =Vc-Vd 



[4.2] 



y, despues, aplicar el principio de superposicion. Asi, cuando solo tenemos aplicada la entrada vi(t), 
la salida correspondiente sera: 



Vo(t) = Aci-Vc+Adl-Vd 
siendo Ad la ganancia en ''modo comun" y A^i la ganancia en "modo diferenciaF. 



[4.3] 



c. 



v^(t) 







I 



V 

xc 



R, 



VWSA- 



s 



A ^ ^ A 



^ 



<m 



:r, yo(t) 







V2(0 



Figura 4.1. Configuracion basica de un amplificador diferencial 



Analogamente, cuando solo esta presente V2(t), la salida es: 



v^ (t) = Ac2 ■ Vc - Ad 2 ■ Vd 



[4.4] 



Por consiguiente, al estar presente las dos entradas, V](t) y V2(t), y tomar la salida flotante, 
entre los dos colectores, tendremos: 



^o(t) = vi(t)-vi(t) = {A,j-A^2yVc+{Adl+Ad2yvd 
Si el circuito es simetrico, 

Al = Ac2 =^c y Ad] = Ad2 = Ad 



[4.5] 



[4.6] 



212 



TEMA4: Familias L6gicas (II): ECL, MOS, CMOS y BiCMOS 



y por consiguiente, la salida flotante sera: 

vjt) = 2Ad -vd = 2Ad ^^~^^ = A^iyi -vj) [4j] 

Es decir, la salida es proporcional (con coeficiente de proporcionalidad Aj) a la diferencia entre 
las dos senales (vj - V2). 

Veamos ahora de forma simplificada el calculo de la ganancia en "modo comun ", cuando las 
dos entradas son iguales (vy = V2= v^) y en ''modo diferencial", cuando las dos entradas son opuestas 

{Vi = -V2=Vd) 

> Ganancia en "modo comun" (vj = V2=Vc) 

Observemos primero que por la resistencia Re, comiin a los dos emisores, pasa una corriente 
igual a 2Ie, porque hay dos transistores inyectando corriente. Esta situacion, a efectos del calculo de 
la tension en esos emisores (F^) es equivalente a otra en la que pasara Ie por una resistencia de valor 
2Re, 

Ve={2Ie)-Re-Ie\2Re)- [4gj 

Esto nos permite usar el circuito simplificado de la figura 4.2.a para calcular la ganancia en 
modo comiin, cuya expresion analitica es: 

A -"oc ~ 'cRc . Re _ 

' V, ^iE{re+2RE)'^r,+2RE [^'^^ 

En este calculo hemos realizado algunas aproximaciones. La primera es suponer que la 
corriente de colector {ic ) y la emisor («£ ) son practicamente iguales. La segunda aproximacion ha 
sido despreciar (como sumando) la caida en la union base-emisor {vbe ~ 0,6 V). Finalmente, hemos 
introducido la resistencia interna de emisor del transistor, r^. 

Este valor de la ganancia en modo comiin (Ac) es muy pequeno porque la resistencia de 
colector, Re, es pequena en comparacion con el denominador (2RE+re). Ademas, intencionalmente se 
diseila haciendo Re muy grande mediante un generador de corriente. Finalmente, la resistencia intema 
del emisor, rg, es de unos pocos ohmios y siempre muy inferior a la externa, con lo que todavia 
podemos simplificar mas la expresion de la ganancia, A^. 



213 



ElectrOnica Digital 



A,^ 



Rc 

2Re 



(con IRg » Rq ) 



[4.10] 



> Ganancia en "modo diferencial" (vj = -V2= vj) 



Veamos ahora la ganancia en modo diferencial. En este caso tambien podemos simplificar el 
calculo observando que al ser iguales y de signo opuesto las tensiones aplicadas en la base de los dos 
transistores Ti y T2, (vy = - V2), las corrientes en sus terminales de base son tambien de igual 
magnitud y signo opuesto (131= - 132) y lo mismo ocurre en los emisores {iej- - iRl)- Por 
consiguiente, tal como se ilustra en la parte b de lafigura 4.2, la caida de tension en la resistencia Re 
es nula por lo que podemos eliminarla y unir el emisor a tierra, tal como se muestra en 4.2.c. 




V 
cc 



R ^'l n 



^ =^T 



(c) 



"od 



Figura 4.2. Ilustracion de los circuitos simplificados usados para el calculo de la ganancia en modo 
comiin y en modo diferencial de un amplificador diferencial. (a) Modo comun. (b) y (c) 
Modo diferencial. 



Ahora en este circuito simpliflcado equivalente es donde vamos a calcular la ganancia del modo 
diferencial, A^, repitiendo de nuevo la aproximacion de igualar las corrientes de emisor y colector 
{iC= '£■) y recordando que el valor de la resistencia interna del emisor es rg. 



Vd 






R 



C 



[4.11] 



214 



TEMA4: Familias L6gicas (II): ECL, MPS, CMOS Y BiCMOS 



Este valor de Aj es muy grande porque Re es mucho mayor que r,. Este gran valor de la 
ganancia en modo diferencial es el causante de la alta velocidad de conmutacion de la familia logica 
ECL. 

4.1,2 InversorECL 

Si cogemos ahora el amplificador diferencial del apartado anterior y fijamos una de las 
entradas, por ejemplo v^, a un valor de tension intermedio entre los correspondientes a los dos niveles 
logicos V(0) y V(l), cada vez que la sefial de entrada en vy cruza el valor de v^ el circuito conmuta. Si 
no dibujamos la parte del amplificador diferencial responsable de la polarizacion de los transistores 
Ti y T2 y aiiadimos dos nuevos transistores T3 y T4 actuando como seguidores de emisor para apoyar 
a tierra las senales de los colectores de Tj y T2, obtenemos el circuito del mversor ECL que se 
muestra en lafigura 4.3. 

Lo primero que conviene observar es que este circuito tiene dos modulos claramente 
diferenciados. El primero es un amplificador diferencial y el segundo son dos seguidores de emisor 
que ofrecen a la salida v^ft) =Vi(t) y Vo(t) = -Vi(t). 

Lo caracteristico de este amplificador diferencial es que uno de los transistores (T2) tiene como 
entrada un nivel de tension constante (-1,29 V) que define el "modo comun". Es decir, cuando en la 
base del otro transistor (Ti) tenemos -1,29 F las dos entradas son iguales y la salida diferencial es 
cero. Este nivel de continua se encuentra entre los valores asociados al "0" logico y al "1" logico. Asi, 
al conmutar la entrada de baja a alta (por ejemplo), se atraviesa el valor de referenda y, rapidamente,' 

con toda la ganancia del modo diferencial, ^^ « ^ , el circuito conmuta dando lugar a Xafuncion del 



re 



inversor. 



La serial entre los colectores de los transistores Tj y T2 (puntos 1 y 2) depende de las 
excursiones del potencial en la base del transistor Tj, ya que el potencial en la base de T2 esta fijado a 
un valor de referenda de -1,29 V. Recordemos que en este circuito ECL los transistores T, y T2 no 
pasandecorteasaturacionsmoquesiempreestantrabajandoenzonaactiva y, por tanto, siempre 
conducen, aunque con distintos valores de corriente de colector (/cy ^ /ci), que son los que van a 
dar lugar a distmtos valores en la tension diferencial de salida (vc/- vc2), que se traslada despues a 
la base de los transistores seguidores de emisor, T3 y T4 para producr las salidas Vo(t) =Vi(t) 



215 



Electr6nica Digital 



yyo(t) = -Vi(t). 



Vi(0 




Figura 4.3. Inversor ECL 

Veamos un ejemplo numerico de calculo de los niveles de la tension de entrada, v,, 
correspondientes a los niveles logicos "0" y "1". Decimos que la entrada es "0" cuando el potencial en 
la base de Ti es algo inferior al potencial en la base de T2. Es decir, 

ViC'O") = -1.29 ~"algo" r= -1,29 - 0,31= - 1,6 V 



Por ejemplo 

Analogamente, decimos que la entrada es "1" cuando el potencial en la base de Ti es algo 
superior al potencial en la base de T2 (valor de referencia, -1,29V). 



ViC'l ") = -1,29 + "algo"T= -1,29+0,29 =-lV 



Por ejemplo 



Estas pequenas diferencias son suficientes para que la alta ganancia del amplificador diferencial 



216 



Tema4: Familias L6gicas (II): ECL, MOS, CMOS y BiCMOS 



produzca una diferencia entre los valores de las tensiones de colector. Asi, en el caso de v,="0", ici 
es menor que ic2 y vc/= ici R] esta a un potencial superior (en relacion con el valor de la 
tension de alimentacion de los emisores, -5,2V) al de vc2= ic2 ^2, V^ que Rci~Rc2- Esta diferencia 
de potencial , vci - vc2, es la que se transmite a la salida a traves de T3 y T4. 

Ahora la tension en la base de T4 es: 



ov- 



vb(T4) = vci = -5,2+ic]Rci 
Analogamente 

Vb(T3) = VC2 = -5,2+ic2Rc2 



iciRci 



iciRci 



vb(T4) 



Vb(T3) 



-5,2 V- 



i_ 



De forma complementaria, en el caso de v,= "/ ", ici es mayor que ic2, cae mas tension en Rci 
que en Rc2, y estas caidas producen valores diferentes en vci y vq que se transmiten a T3 y T4. La 
figura 4.4 muestra la caracteristica de transferencia del inversor ECL. 



-0.8. 



> 






00 



-1.6 



X 




-1.8 -1.6 -1.4 -1.2 -1.0 -0.8 

Entrada (V) X 
Figura 4.4. Caracteristicas de transferencia de la salida inversora y no inversora del circuito inversor ECL 

Observese que el efecto de los transistores T3 y T4 es apoyar a tierra las salidas e introducir 
ganancias en corriente, pero no en tension. Es decir, la tension en el emisor de T4, v^, {t), es la misma 
que en el colector de T], vqi, menos la pequeria caida (del orden de 0.6V) en la union base-emisor de 



217 



ElectrOnica Digital 



T4 que esta conduciendo. Lo mismo ocurre con la salida, Vo(t), en el emisor de T3, que reproduce la 
tension de colector T2, vqi, menos la caida en la union base-emisor de T3. 

4.1.3 Puerta NAND en ECL 

Si ya sabemos como funciona el circuito inversor, para obtener una puerta NOR nos basta con 
aiiadir mas transistores en paralelo con Ti, tal como muestra el circuito de la figura 4.5. 



X'i 



290QS 300Q< 



rK^'rK 



X 



^1 ^f-^ ^ 



< 



< 



-F^^=5.2V 



~X+Y+Z 
-X+Y+Z 



.2kQ 



2 R^<. l,2kQ <^ ^2kD 



Figura 4.5. Puerta OR-NOR en tecnologia ECL 

Los margenes de ruido se encuentran en el rango de los 750 mV. Sin embargo, dada la 
estructura de amplificador diferencial de ECL, con alto factor de rechazo al modo comiin, la 
inmunidad al ruido de transmision es muy alta. Por eso se selecciona esta familia en aplicaciones de 
sistemas digitales de comunicacion e instrumentacion electronica para transmision de datos. 

El retardo de propagacion es el parametro clave en ECL. Se consiguen valores del orden de Ins 
con disipacion de potencia de lOOmW, dando lugar a soluciones especificas en todas aquellas 
aplicaciones de instrumentacion, calculo, comunicacion o control en las que es imprescindible la 
velocidad. Tiene como inconvenientes el consume relativamente alto y la necesidad de circuitos de 
adaptacion para desplazar los niveles logicos hasta hacerlos compatibles con los correspondientes a 
otras familias logicas, tales como TTL 6 MOS. 

'Lasfiguras 4.6, y 4.7 muestran los circuitos correspondientes a la adaptacion de niveles logicos 
e impedancias entre TTL y ECL cuando ambos se alimentan a +5 V. En la. figura 4.6 se muestra una 



218 



TEMA4: Familias LOgicas (II): ECL, MOS, CMOS Y BiCMOS 



forma sencilla de pasar de TTL a ECL mediante un partidor de tension que atenua las salidas TTL 
hasta el nivel ECL. En 4.7. a y b se muestran dos soluciones al problema inverse. La solucion 4.7.a 
aprovecha la estructura de par diferencial de la familia ECL y usa sus salidas complementarias para 
alimentar a otro diferencial formado por dos transistores PNP. La solucion 4. 7.b usa un solo transistor 
y es algo mas lenta. El ejercicio E.4.3 del texto de problemas analiza con precision estas etapas 
adaptadoras entre TTL y ECL y viceversa. 




Figura 4. 6. Circuitos para pasar de TTL a ECL. 



'cc=+5^' 




v,dS^H^ 



^C=+5F 




Figura 4. 7. Adaptacion de niveles entre ECL y TTL. 



4.2. INVERSOR Basico EN MOS 



Todas las familias logicas estudiadas hasta ahora, tanto las saturadas como las no saturadas, se 



219 



Electr6nica Digital 



han realizado en tecnologia bipolar. Vamos a estudiar ahora los circuitos digitales basados en el 
transistor MOS. Las ventajas que suponen el diseiio con transistores de efecto campo MOS respecto a 
las familias de tecnologia bipolar se refieren a la densidad de integracion y al consumo. Al conseguir 
la misma funcion logica en un area mucho menor, con un proceso de fabricacion mas sencillo y un 
consumo mas bajo se facilita la integracion de funciones globales mas complejas. De hecho la 
integracion en gran escala (LSI) y en muy gran escala (VLSI) esta dominada por las tecnologias MOS 
y CMOS. 

En este apartado y en el siguiente vamos a estudiar las puertas basicas en MOS y CMOS, su 
estructura interna, sus caracteristicas de transferencia y las formas de conexion necesarios para 
conseguir puertas NAND y NOR y puertas de transmision, en el caso del CMOS. 

La tecnologia N-MOS y P-MOS se usa poco en la sintesis de circuitos integrados en logica 
combinacional, donde la familia dominante a partir de cierto grado de integracion es la CMOS. No 
obstante su uso en logica secuencial y en logica dinamica es frecuente. Veremos mas adelante, en los 
temas dedicados al estudio de las memorias RAM dinamicas y los registros CCD como estas 
estructuras MOS permiten realizar practicamente todas las funciones necesarias en circuitos 
secuenciales (almacenamiento de carga en capacidades, inyeccion, extraccion y desplazamiento de 
paquetes de carga, etc.). 

Empecemos ya a estudiar el inversor MOS. Su estructura es analoga a la del inversor basico en 
tecnologia bipolar (RTL) solo que ahora el transistor impulsor ("driver") es MOS y la resistencia de 
carga, Ri, se realiza en tecnologia integrada mediante otro transistor operando en zona triodo o zona 
de saturacion y con el sustrato, en general, unido a tierra. Esto permite obtener facilmente resistencias 
integradas del orden de los 200kD sobre un area mucho menor que las usadas en resistencias de 
difusion. La figura 4.8 muestra el esquema para un inversor en el que los dos transistores son de canal 
N con sustrato comiin y que trabajan en modo de realce. En la misma figura se incluye tambien la 
caracteristica de transferencia y el valor de la tension de salida en funcion de la tension umbral, Nj. 
Hasta que la tension de puerta en el transistor impulsor, Vq, no alcanza el valor Vj el transistor no 
conduce y cuando lo alcanza conduce y se comporta para situaciones estacionarias como una 
resistencia. En condiciones dinamicas tendriamos que considerar una capacidad equivalente al 
conjunto de los efectos capacitivos en las uniones. 



220 



Tema4: Familias L6gicas (II): ECL, MPS, CMOS y BiCMOS 



A^o 



DD 






Carga 
(canal N) 

Ti 



VdDl" 



VdltVt 



T2 
Impulsor 
(canal N) 



Ti conduce 
T2 no conduce 




Vj 

Vr = tension umbral 



Figura 4.8. Inversor MOS. a) Circuito. b) Caracteristica de transferencia. 

Hay otras muchas posibilidades de disenar inversores MOS combinando para Ti y T2 las 
posibles opciones de canal P o canal N y modo de realce modo de vaciamiento tal como se muestra 
en la tabla de \a figura 4. 9. 



TIPO 


IMPULSOR 


CARGA 1 


CANAL 


MODO 


ZONA 


CANAL 


MODO 


ZONA 


PELT 


P 


realce 


triodo 


P 


realce 


triodo 


PELS 


P 


realce 


triodo 


P 


realce 


saturacion 


PDLS 


P 


realce 


triodo 


P 


vaciamiento 


saturacion 


NELT 


N 


realce 


triodo 


N 


realce 


triodo 


NELS 


N 


realce 


triodo 


N 


realce 


saturacion 


NDLS 


N 


realce 


triodo 


N 


vaciamiento 


saturacion 


1 CMOS 


N 


realce 


triodo 


P 


realce 


triodo 



Figura 4.9. Posibles configuraciones de inversores MOS dependiendo del tipo y modo de los transistores 
impulsor y de carga (canal P 6 N y modo de realce o modo de vaciamiento). 



221 



El transistor que actua como impulsor siempre esta en la region triodo cuando la entrada esta en 
alta [v/ = v("l ")]. En cambio, el transistor que simula la carga puede estar en zona triodo o en zona de 
saturacion. En todos los casos las caracteristicas de transferencia de los inversores dependen 
criticamente de la geometria del canal, en especial del parametro/,- (figura 4.10). 



W 



fir 



g„{impulsor) _ fiVj){impulsor) _ /, 
gmicarga) fiVj){carga) —(carga) 



[4.12] 



donde L es la longitud del canal y We\ ancho de la zona de transicion, tal como vimos en el tema 2 al 
estudiar los transistores MOS. Quizas sea conveniente ver la figura 2.33 donde se muestra la 
estructura de los transistores MOS de canal N. 

Esto es valido para PELT, PELS y PDLT, inversores llamados de tipo proporcional, en los que 
al aumentar^^ aumenta el recorrido logico [v("l")-v("0")], para un mismo valor de la fiiente de 
alimentacion. Veremos mas adelante que en CMOS la Vq no depende de fir por ser un circuito 
simetrico en el que las funciones de transistor impulsor, (T2) y transistor carga (Ti) son 
intercambiables. 




Figura 4.10. Influencia de la geometria en las caracteristicas de transferencia. 



Antes de iniciar el analisis del inversor NMOS queremos recordar la nomenclatura que usamos 
para las tensiones. Cuando hablamos de Vd, Vgy Vs nos referimos a la tension del drenador, la puerta 



y la fuente referente a tierra. Sin embargo, cuando usamos dos letras en los subindices, V^s y Vcs 
nosreferimos a las diferencias de tension entre dos terminales concretes del transistor. Asi^ 
Vds=Vd-Vs, es la diferencia de tension entre los terminales de drenador y fuente. Analogamente, Vcs 
= Vg~ Vs, es la diferencia de tension entre la puerta y la fuente. En el transistor impulsor, T2, del 
circuito inversor en MOS, la tension Fg^ coincide con Vg porque la fuente esta a tierra (Vs = 0), pero 
en el transistor de carga, Ti, Fg: es: 

^Gs(de Ti) +\s(de T,) = VGs(de Tj) +YD(de T2) [4^ 75; 

El circuito de lafigura 4.8 es un inversor NMOS tipo NELS porque los dos transistores son de 
canal N y, ademas, trabajan en modo de realce. El transistor T^ actiia como impulsor trabajando en 
region triodo y el transistor Ti se llama transistor de carga porque hace las fimciones de la resistencia 
de carga, Rq. Este transistor actiia siempre en la region de saturacion. Veamos por separado el 
comportamiento de estos dos transistores. 

4.2.1. Comportamiento del transistor de carga 

Veamos primero como se comporta el transistor Tj que actiia como carga dinamica de T2. La 
figura 4.11 nos recuerda lo estudiado en el tema segundo representando las tres regiones de trabajo de 
un transistor NMOS. En condiciones generales, en las que Vgs varia, todo transistor NMOS en modo 
de realce empieza a conducir cuando su tension de puerta supera un cierto valor umbral, Vt, 
{Vgs> Vt) y lo hace sobre la curva caracteristica correspondiente a ese valor de Vgs, pasando primero 
por las zonas lineal y cuadratica (region triodo) y entrando despues en saturacion, cuando Vds vale, 

^Ds = VDSsat= Vgs -Vt ^^ , ^, 

[4.14] 
A partir de ese momento, la corriente permanece constante en su valor de saturacion 

lDsat= K* (Vgs- VtP= K* (Vossat)' [4J5] 

Asi, para cada curva Vgs= cte.,con valores (Vgsi, Vgs2, ..., Vgs„ ), hay un punto en el que se 
cumple 

Vds=Vgs-Vt e lD=K*(VDSsat)^ [4J6] 

El lugar geometrico de todos estos puntos que defmen la entrada en zona de saturacion para los 

distintos valores de la tension de puerta Vgs es el que se muestra en la curva de trazos de 



\difigura 4. 12. 




^D2sat 



■Vgsj = Vt 

..- Vgs < Ft- =:> Zona de Corte 



'DS 



'DS — 'DSlsat — y GS2- ^T 



Figura 4.11. Regiones de trabajo de un transistor NMOS 



iD3 sat 



Wl sat - 



yDS = VGS-VT 



Zona de 

Saturacion 




VnSI sat Vl 



*^v. 



DS 



DSlsat yoSSsat 



Figura 4.12. Lugar geometrico de los puntos de entrada en zona de saturacion para las distintas curvas 
caracteristicas correspondientes a valores crecientes de Vqs 



Veamos ahora por que esta curva de puntos de la figura 4.12 esta desplazada de la forma que se 
muestra en \& figura 4.12, donde la curva original se ha dibujado en trazo fmo intermitente y la curva 
desplazada, que representa el lugar geometrico de los posibles puntos de operacion del transistor de 
carga Tl, se ha dibujado en trazo grueso. 



Vds = Vgs-Vt 



Vds = Vgs 



^DS2sal - VgS2-Vt 



^DSIsat - Vgsi -Vt 




Esta curva es el lugar ^ 
geometrico de los posibles 
puntos de operacion del 
transistor de carga T\ 



*-V, 



DS 



Vds3 - Vgs3 - Vdsssm + Vt 



VdSI - VgS2 - VdS2 sat + Vj 



VdSI =Vgsi = VDSlsa,+ V? 



*-v, 



DS 



Figura 4.13. (a) Desplazamiento de la curva V^s = Vgs - Vt ■ (b) Observese que para cada valor de la corriente 
de drenador, solo hay un punto de trabajo posible. 



En condiciones normales las curvas caracteristicas comienzan en el origen. Es decir, para 
valores muy pequenos de V^s ya hay conduccion [con //) = K(Vqs- Vj-) VosIj con tal que Vqs^ Vt. 
iQue pasa cuando unimos la puerta con el drenador para sintetizar una resistencia de carga mediante 
un transistor NMOS?. Pues que al hacer Vds = Vqs, la condicion de minimo se transfiere ahora a la 
Vj)s- Es decir, como el transistor no conduce hasta que Vqs ^ Vj y Vqs = V^s, el transistor no 
conducira hasta que Vj^s rio alcance el valor F7-. Por eso la curva de puntos (Vj)s = Vqs - Vt) se 
desplaza ahora Vj- hacia la derecha y empieza en Vj^s = Vf, en vez de empezar en el origen. 

4.2.2. Comportamiento del Transistor Impulsor 

Hemos visto el comportamiento del transistor de carga, T\ y el lugar geometrico de sus 
posibles puntos de trabajo. Veamos ahora el funcionamiento del transistor impulsor T2 que esta en 
serie con Ti y, por consiguiente, tienen el mismo valor de corriente de drenador (To/ = Id2)- ^3t.figura 
4.14 muestra la obtencion por un procedimiento grafico del punto de trabajo. 




Vas2o ~ Vt2 



DS2 



DD 



Figura 4.14. Punto de trabajo de T2. 



Este transistor T2 no tiene ninguna limitacion porque su terminal de fuente no esta unido al 
drenador. Por consiguiente, su punto de trabajo puede estar en cualquier posicion sobre sus curvas 



caracteristicas, Id2 ^f(^DS2. ^GS2)- El punto en el que fmalmente trabajara es aquel que cumpla a la 
vez las condiciones de T2 y las de Ti. Es decir, estara trabajando en la interseccion de la curva vista 
anteriormente {Vqs = Vds) con la caracteristica de T2 definida por su tension de puerta {Vqs)- Esto es 
lo que ilustra la figura 4.14. Lo que hemos hecho en esta figura es superponer las graficas 
correspondientes a T] con las correspondientes a T2 de forma que la curva sobre la que trabaja Ti es 
la imagen especular de la que obtuvimos antes y esta apoyada a un eje que empieza en Vdd (tension 
de alimentacion del circuito) puesto que ambos transistores estan conectados en serie. 

Este procedimiento de obtencion del punto de trabajo (0 es el mismo que vimos al estudiar la 
polarizacion de los transistores bipolares con una resistencia en el colector {Rq), de forma que por un 
lado debia cumplirse la ley de Ohm, {E= Vce'^IcRc ) y Por otro lado debia cumplirse la 
relacion \Ic =f(VcE' ^b)]- Por consiguiente, el transistor solo podia estar en aquel punto (/eg, Vceq) 
que cumpliera a la vez ambas condiciones. La solucion graflca a este sistema de dos ecuaciones era la 
interseccion de la recta de carga con la curva caracteristica. 

Aqui hemos hecho lo mismo solo que sustituyendo Re por el transistor Tj que emula una 
resistencia de valor, 

i^DSl--j — - * y --—* [4.17] 

Ids k vlg K Vds 
Ahora, la tension de alimentacion se reparte entre ambos transistores: 

^DD = ^DSI + VdS2 = RdSI ^DSl + ^D52 [4.18] 

y por otro lado debe cumplirse la condicion 

VdS2 =MdS2, ^GD2) [4. 19] 

por lo que la solucion grafica de este sistema de ecuaciones nos da el punto de trabajo (0 del 
inversor. 

4.2.3. Curva de Transferencia del Inversor 

Veamos ahora la curva de transferencia del inversor. Para ello partimos de una senal de entrada 
nula, V, =0, y la vamos aumentando hasta el valor maximo Vdd observando en cada caso el valor de la 
salida. Asi, para v, ~0, T2 estara al corte porque su tension de puerta no supera la tension umbral Vf2, 



presentando por tanto alta impedancia y no dejando pasar corriente 
(/£>;= Id2~^) y> por consiguiente, si no cae nada en R^Sh 

Vo = VdS2^ VdD -Id2 RdSI-^DD 



[4.20] 



Cuando la tension de entrada, v„ supera el valor umbral, Vt2, el transistor T2 empieza a 
conducir en su zona lineal con corriente creciente a medida que aumenta v, y el transistor de carga 
esta en saturacion en el punto correspondiente a cada uno de esos valores de corriente ya 
que lor Id2 = Id- 

Al seguir aumentando Vj, T2 conduce en region triodo con mayor valor de //), y con mayor 
caida en Ti , con lo que disminuye la tension de salida Vq ■ 



^0 - VdS2 - VdD - IdS2 RdSI 
Si v/t, /z)52t, IdSi"^ . (IdS2RdSiA 



i 



[4.21] 
[4.22] 



Durante la travesia de esta zona de transicion Tj sigue saturado, solo que cada vez con un valor 
mayor de su corriente de drenador. 

Asi siguen las cosas hasta que la tension de entrada v,- se acerca al valor de la tension de 
alimentacion Vdd. En el momento en que Vjysi no alcance el valor umbral Vji , el transistor Ti 
pasara al corte ofreciendo una impedancia muy alta en la que cae toda la tension Vdd, de forma que la 
tension de salida es practicamente cero. Este bajo valor de la tension de salida coincide con la 
conduccion de T2 , en su valor mas alto de corriente. 





..wT] se corta y Rdsj"^ 


V, > vdd - Vn :::::; 






^ T2 conduce con Ids2^ 


Asi, 




Vo = VdS2 = 


Vdd - Idsi Rdsi ~ 



[4.23] 



Asi la curva de transferencia es la que se muestra en la figura 4.15. 



i 


,Vo 






-Vtj 








Vt2 


\ , Vn 

V r 






'■■ — 1 


— ►- 




v/- 



Vdd "' 



Figura 4.15. Caracteristica de transferencia del inversor NMOS. 



4.2.4. Puertas NAND y NOR con NMOS 

ha figura 4.16 muestra las conexiones necesarias para obtener las funciones NAND y NOR con 
MOS, junto con las tablas de verdad correspondientes. 

La operacion de ambos circuitos se comprende facilmente recordando que los transistores de 
carga actuan como resistencias, Es decir, las puertas NAND y NOR en MOS operan come las 
correspondientes en RTL, cambiando Ri por un transistor. En el caso NOR, al estar los dos 
impulsores en paralelo bastard con que uno tenga la entrada en alta para que entre en conduccion y la 
tension en su drenador sea la correspondiente a baja. 

Por construccion, todos los impulsores tienen la misma W/L y por consiguiente la misma 
conductancia g^. La gjn de una cualquiera de las entradas es suficiente para que Ir/gm proporcione la 
tension de drenador deseada en conduccion [vq = V^fON) = v("0")]. La accion de las otras ramas 
paralelo no cambia gm, solo tiende a bajar Vd(ON). 

Un razonamiento analogo sirve para la puerta NAND que de nuevo repite la estructura RTL 
sustituyendo Rl por un transistor. Tal como se ilustra en la. figura 4.16.b, la puerta NAND consta de 
tres transistores MOS en serie, dos haciendo funcion de impulsores y el tercero actuando como carga 
activa. Al estar los impulsores en serie, solo cuando las entradas en las puertas Ay B estan en alta, hay 



conduccion entre Vdd y tierra y, por consiguiente, la salida/esta en baja tal como corresponde a una 
puerta NAND. 

Inversamente, cuando los impulsores Ay B estan en paralelo (parte (a) de lafigura 4.16) basta 
con que uno de ellos este en conduccion para que la salida este en baja. Solo cuando las dos entradas 
estan en baja los transistores impulsores no conducen, no hay corriente en el transistor de carga y la 
tension de salida coincide, practicamente, con la tension de alimentacion, Y-qq, tal como corresponde 
a una puerta NOR. 

Para aumentar el numero de entradas a una puerta NAND o una puerta NOR basta con incluir 
mas transistores impulsores en serie o en paralelo, manteniendo la estructura de \afigura 4.16. 



DD 



(a) 






f = AB=A+B 



A 


B 


f(NOR) 








/ 





1 





1 








1 


1 






A 



B 



tN 



f=A+B=AB 



A 


B 


/•(NAND) 








/ 





1 


1 


1 





1 


1 


1 






^^N 



(b) 



Figura 4.16. Puertas NAND y NOR en MOS. (a) NOR. (b) NAND. 



4.3. INVERSOR BASICO EN CMOS 

Las caracteristicas de una familia logica ideal son: 

1. Que no consuma potencia. 

2. Retardo de propagacion nulo (velocidad infinita). 

3. Tiempo de subida (rise time) y bajada (fall time) controlables. 

4. Inmunidad al ruido del 50% del rango logico: '^ ^ 

En general no se ha desarrollado ninguna familia logica que proporcione una solucion optima. 
Lo distintivo de la familia CMOS, (MOS con transistores complementarios), es que se aproxima al 
ideal globalmente. CMOS es la solucion de compromiso que ofrece las siguientes caracteristicas: 

> Necesita un consumo minimo para mantener cualquiera de los dos estados estables (menor de 
10 nW), ya que siempre hay un dispositive que no conduce. Solo hay consumo en las 
transiciones y este consumo depende de la alimentacion y de la frecuencia. 

> Los retardos de propagacion son pequenos (inferiores a 25ns) y, junto con los tiempos de 
subida y bajada, dependen de Vd£,. 

> Hay aha inmunidad al ruido, pues vale justo la mitad del rango dinamico y este coincide con el 
valor de la tension de alimentacion. 

> Uay flexibilidad en los valores de V£)j) y Vss, {5V<Vdd<ISY). 

> Permite gran conectividad a la entrada (^'fan-in") y a la salida {"fan-out"), debido a las altas 
impedancias de entrada inherentes al circuito. La puerta de un transistor MOS es practicamente 
un aislante por el que no pasa corriente continua y, ademas, la entrada a un inversor CMOS es a 
traves de una puerta comiin a dos transistores. 

> Facilidad de fabricacion y pocas exigencias de area lo que facilita la integracion a gran escala. 

4.3.1. Comportamiento Estatico 

El proceso de fabricacion se basa en la formacion de un par de transistores MOS, canales P y N, 



modo de realce y con difusiones complementarias para aislar los canales, tal como se ilustra en la 
figura 4. 1 7. En linea a trazos incluimos las uniones P-N de caracter parasite. Estos diodos parasites 
estan polarizados en sentido inverse y son los linicos responsables del consumo en los estados 
estables. 



Vdd 



Vdd 



Canal P 



VSS 



Tp i 



Vdd 



Canal N 



Vss 



|«-|Tn 



(a) 



Vss X 



Tp 



Tn 



S Gl Dl SI Gl Dl 

\vL rT Ip+T I Tn+l M L+ 




(b) 



Figura 4.17. Estructura del inversor CMOS, (a) Circuito. (b) Corte transversal de la estructura fisica que lo 
sintetiza. 



Este inversor combina la rapida conmutacion asociada a un MOS en conduccion (saturacion o 
triodo) con un bajo consumo, debido a que siempre existe uno de los transistores (canal P o N) que no 
conduce. Los niveles logicos son, practicamente, Vdd-"^" y ^55' = "0" = F. 

Analicemos el esquema basico sin considerar los elementos parasitos. Por comodidad, 
repetimos en \a figura 4.18 e\ circuito simplificado, sin diodos parasitos y resaltando el tipo de canal 



del impulsor y de la carga. En el analisis vamos a seguir los siguientes pasos: 



1. Calcular la caracteristica de transferencia de Tn. 

2. Calcular la caracteristica de transferencia de Tp. 

3. Superponerlas en las dos situaciones extremas: (Tp en corte, Tn en conduccion) 
y (Tp en conduccion, Tn en corte). 

4. Recorrer con Vi(t) el camino desde hasta Vdd- 



f 




V 


\ 


G 


s, 


Carga 
canal P 

Tp 


D 
D 











-^^ 




Cj 


S 


Impulsor 
canal N 


V 




~=~ 



Figura 4.18. Version simplificada del inversor CMOS. 



Antes de empezar el analisis podemos obtener una idea intuitiva y rapida sobre como funciona 
el inversor CMOS usando su modelo como conmutador. Un transistor MOS (en continua) se 
comporta como un conmutador que para tensiones de puerta tales que \Vqs\ <\V-i\no conduce (es un 
circuito abierto ideal) y cuando la tension de puerta supera un valor umbral i\VQs\ > \V']\, por ejempio) 
el MOS conduce comportandose como una resistencia de valor Ros (ON). Asi, cuando v, es alta 
(aproximadamente Vdd), el transistor NMOS conduce y el PMOS esta en circuito abierto, con lo que 
la salida v^ esta en baja (vo=0). Inversamente, cuando la entrada v, esta en baja el transistor NMOS 
esta en corte y el PMOS conduce, quedando entonces la salida apoyada a la tension de alimentacion, 



^DD, tal como se muestra en la figura 4.19. Ademas , al no cerrar circuito en ninguno de los dos 
casos, no hay consume en situaciones estacionarias. 




Figura 4.19. Ilustracion del funcionamiento del inversor CMOS ixsando para los transistores de canal P y N el 
modelo elemental de un conmutador que pasa de corte a conduccion con una resistencia R£)s (ON) 
cuando la tension de puerta supera el valor umbral Vj. 

Veamos ahora un analisis mas detallado recordando los conceptos de polarizacion, recta de 
carga y pimto de trabajo de un transistor. En transistores bipolares y MOS con carga resistiva 
teniamos rectus de carga que se superponian a las curvas caracteristicas. En inversores tipo NMOS, 
como el visto en el apartado anterior, sustituiamos la resistencia de carga por un transistor con la 
puerta unida al drenador, con lo que obteniamos una "curva" de carga que se superponia a las 
caracteristicas del transistor impulsor. Ahora, en el inversor CMOS, tenemos dos familias de curvas 
caracteristicas superpuestas y una unica corriente de drenador que fija el punto Q. 

Como puede observarse en la figura 4.18 el inversor CMOS es analogo al NMOS solo que 
ahora el transistor de carga es de canal P, mientras que el impulsor sigue siendo de canal N. Ademas, 
ahora los drenadores y las puertas de los transistores estan unidos entre si, de forma que ambos 
transistores pueden trabajar en cualquiera de las distintas zonas de funcionamiento, verificandose que: 

Vgsn = Vi y Vdsn = Vo, 



VCSP = VdD - Vi y Vusp = Vdd - Vo- 

Como los dos transistores estan en serie se debe verificar que: 

^DSP + Vdsn = Vdd 



[4.24] 
[4.25] 

[4.26] 



I DP - Idn - Id- 



[4.27] 



Los puntos de trabajo de ambos transistores vienen determinados por las intersecciones de sus 
curvas caracteristicas ya que las del transistor de carga hacen la fiincion de la recta de carga que 
hemos visto anteriormente. Asi, la forma de resolver el problema graficamente es superponer las dos 
familias de curvas caracteristicas, pero las del transistor de canal P desplazadas Vdd (de la misma 
forma que hicimos con la curva de carga en el caso del inversor NMOS) como se muestra 
en lafigura 4.20. 



(a) 




Vi = V(l) = VDD 



'DD 



Vi=V(0)=0 




Idn 



(b) 



'DSP 



Vo«0 



Ygp Tp {conduce) 



Vnn ^DSN 



Idp 

4 



Q2 \ 



Tn (corte) 



\ \ 

( ! 



z: 



i^. — ► 



Vo^V, 



DD 



Vdd 



'DSN 



Figura 4.20. Curvas caracteristicas de los transistores Tn y Tp. Para obtener los puntos Q, se desplazan las 
curvas caracteristicas F^^) y se marcan las intersecciones. Asi, el punto Qj de Tn es (/q, 0) y el de 
Tp es (/£), Vj)j)) (parte a de la figura). Obviamente la corriente es la misma porque Tp y Tn estan 
en serie. La tension, V^d, se reparte entre los dos transistores. 



Cuando Vq varia desde hasta Vdd, los puntos de cruce de ambas caracteristicas nos dan los 
posibles puntos de funcionamiento de los dos transistores. La figura 4. 21. a muestra esta 
yuxtaposicion de curvas y las cinco zonas de trabajo distinguibles entre y Vdd- I^^l figura 4. 2 Lb 
muestra la caracteristica de transferencia donde hemos identificado esas cinco zonas. 



Vdsi 



(a) 




ilop 



'GN4 



1 - — 



'GN3 



--, \ 



—iXsn i 



-X-rm. 



im. :b-r 

444 



'GNl 



Vo='/2VdD 

4 



<AiN 



-► Vdsn 



Vdd 



(3) 



(D 



/'' Vo'=VdD 



(b) 



© 



© ® © ® © 




V2VDD 



Vtn = Tension Umbral (cana N) y =V V 
V'tp = Tension Umbral (cana P) ^^ ^^ 



Vdd 
TP —y DD -V'tp 



Figura 4.21. (a) Yuxtaposicion de las curvas caracteristicas de Tp y Tn para obtener los posibles puntos de 
trabajo. (b) Caracteristica de transferencia del inversor CMOS. 



En la caracteristica de transferencia del circuito que se muestra en \a figura 4.21.b hemos 
superpuesto la representacion de la variacion de Id con v,. Como podemos observar, el circuito realiza 
la funcion de inversion, presentando el mayor nivel de conduccion para v,='/4F£)£)que es cuando los 
dos transistores estan saturados y presentan menor impedancia dejando pasar mas corriente. 
Afortunadamente esta situacion de consumo solo ocurre en el proceso transitorio de conmutacion. 
Podemos profundizar en la comprension del inversor CMOS usando la tabla de lafigura 4.22 donde 
se describen los cinco estados funcionales por los que pasan Tp y Tn al recorrer el rango dinamico 
desde hasta V^d. 



Zona 



Transistor T 



N 



Transistor Tp 



v/ = Vgs I N < Vtn => Tn cortado 



V„ = Vr 



~Vi 



DD 



Vgs I p < Vtp ^> Tp conduce (zona ohmica) 

Vds I p ~ <? 



f/)' 







Vi = Vgs I N ^ Vtn => Tn conduce (saturacion) 
Vo - Vds I N => disminuye 
Id => aumenta 



Tp sigue en conduccion (region triodo) 
Vds I p => aumenta 

Vtp= Vds- V'tp V'Tp=Tensi6n Umbra! canalP 



v; = Vqs I N > Vtn => Tn conduce (saturacion) 
Vo = Vds I N -Vds I p='/2F/,b 
Id => alcanza el valor mdximo 



Vgs I p < Vtp => Tp conduce (saturacion) 
Vds I p ~ Vds I n = ^^ ^ob 



Sigue T v; => Tn conduce (region triodo) 
Vo - Vds I N => disminuye 
Id '==> disminuye 



Vgs I p ^ Vtp => Tp conduce (saturacion) 
Vds I p aumenta 



V, = Vdd= Vgs I n => Tn conduce (reg. triodo) 

V„ = VdsIn«<? 

Id^O 



Vgs I p > Vtp => Tp cortado 
Vds I p ~ Vdd 



Figura 4.22. Resumen de los distintos estados funcionales por los que pasan T^ y Tp a medida que la tension de 
entrada, v„ pasa desde hasta V^^. Comparar esta tabla con hi figura 4.21. 



4.3.2. Comportamiento Dinamico 

Hemos visto el comportamiento estatico del inversor, suponiendo que la entrada se encontraba 
de forma estacionaria en alta (Vj^d) o en baja (OV). Veamos ahora que pasa en los transitorios de 
conmutacion que son los que limitan la velocidad maxima a la que puede trabajar un sistema digital 
basado en esta tecnologia. 

Cada proceso de conmutacion real lleva asociado un retardo que es el tiempo que transcurre 
desde que cambia el valor de la entrada, Vi(t), hasta que el cambio en la salida, Vo(t), se estabiliza en 
un entomo prefijado de su valor estacionario final. Este retardo se debe basicamente a dos factores: 

1. La existencia de un conjunto de capacidades de difusion e interelectrodicas en los transistores 
PMOS y NMOS que no hemos considerado en el modelo resistivo anterior. En una primera 
aproximacion estas capacidades se pueden representar mediante una linica capacidad de carga, 
Ci, entre la salida, Vo(t), y tierra. 

2. El valor limitado de las corrientes de drenador y fuente de los transistores necesarias para 
cargar y descargar esas capacidades. Es decir, en el valor no despreciable de las resistencias 
Rds(ON). 

Por consiguiente, el parametro a minimizar es la constante de tiempo de carga y descarga de Ci, 

T=R])s(ON) Ci. Cuanto menor sea esa capacidad equivalente, Q,, y la resistencia de conduccion de 

los transistores, Rds(ON), menor sera el retardo asociado al transitorio de conmutacion y mayor la 

velocidad de los circuitos CMOS correspondientes. La figura 4.23 ilustra el proceso de carga y 

descarga de Ci. 

Los tiempos de retardo en las transiciones de alta a baja {tni) y de baja a alta {tiu) de la tension 
de salida determinan la frecuencia maxima a la que puede funcionar el inversor. Su suma {Ihl + ^i//) 
es el tiempo minimo para completar un ciclo (pasar de "1" a "0" y, de nuevo, de "0" a "1") y su 
inverso, la frecuencia maxima de conmutacion 

fmax=- — — [4.28] 

tHL +tLH 

Para valores superiores de la frecuencia del reloj de un circuito digital sincrono, las puertas 
CMOS no pueden reaccionar adecuadamente a los cambios en sus tensiones de entrada y, por 
consiguiente, se comportan de forma erronea. 



Paso de "0 " a "1 " Paso de "1 " a "0 " 
Vdd Vdd 




Vo(t) 



Vo(t)' 

VDD 



Vdd 
VDDe^^^ ,.VDD(l-e^^^) 



tHL tL}i 



Figura 4.23. Transitorios de comnutacion del inversor CMOS con los procesos de carga y descarga de la 
capacidad equivalente C^. 



4.3.3. Inversor de Tres Estados 

Al igual que hicimos al estudiar la puerta NAND en TTL, tambien vamos a comentar como se 
pueden convertir los inversores CMOS en puertas de tres estados para facilitar la conexion cableada a 
un bus de n puertas y permitir la seleccion de una de ellas en cada momento, quedando las otras 
conectadas fisicamente pero aisladas funcionalmente a traves de un tercer estado de alta impedancia 
respecto a tierra y respecto a la fuente de alimentacion, F/)/). 

La idea es sencilla y se ilustra en el circuito de la figura 4.24. A un inversor CMOS 
convencional le anadimos dos nuevos transistores, uno de canal P en serie con la carga y otro de canal 
N en serie con el impulsor. Ademas, incluimos una entrada adicional para el control de la inhibicion, 
C, de forma tal que cuando C esta en baja los dos nuevos transistores no conducen y la salida v,, queda 
aislada. En cambio, cuando C esta en alta, los dos nuevos transistores conducen con muy baja 



impedancia, en serie con los. originales, dejando paso asi al modo usual de funcionamiento del 
inversor. Es decir ahora, con C=l, v^ es "1" si v,- es "0" y viceversa. 



Vi(t) 



Vdd 



P2 (cargo) 



Vi(t) 




Vo(t) 



|~Pj (control) 



C (control) 



Vo(t) 



I ^N2 (control) 
l~Nj (impulsor) 



C (control) _L 



Vi 


c 


Vo 



1 






tz 
tz 



1 


1 
1 


1 





Figura 4,24, Modificacion del inversor CMOS para incluir un tercer estado de alta impedancia, 

4.3.4. Acoplo con Otras Familias 

Generalmente cuando se disenan sistemas digitales se suele usar una unica familia logica, tal 
como TTL, ECL, MOS o CMOS. Sin embargo, hay veces en que esto no es posible bien porque se 
quiera optimizar mas de un parametro o bien porque las subfunciones necesarias no existan en la 
familia logica elegida, por lo que hay que recurrir a usar mas de una familia logica. 

En estos casos nos encontramos con ciertos problemas de acoplo entre circuitos de familias 
diferentes puesto que cada uno funciona con valores distintos de tensiones, de corrientes y de 
impedancias. Nace asi la necesidad de usar circuitos de acoplo de interface para adaptar los distintos 
niveles de tension y corriente. Ya hemos visto los circuitos de acoplo entre TTL y ECL. Veamos 
ahora el acoplo entre TTL y NMOS 6 CMOS. Este tipo de acoplo es el mas sencillo de todos, sobre 
todo cuando se usa 5 F para la alimentacion de los circuitos MOS. Asi, para el caso de circuitos tipo 
NMOS se pueden conectar directamente sin necesidad de ningiin circuito adicional. 



En general, los parametros que hay que tener en cuenta cuando se conectan puertas de distintas 



familias logicas son los valores de las tensiones umbrales para "0" y para "1". Es decir, cada familia 
tiene un valor de la tension de entrada por encima del cual interpreta que dicha senal de entrada es un 
"1" y otro valor por debajo del cual interpreta que la seilal de entrada es un "0". Estos valores se 
nombran con F,// y F,x. Analogamente ocurre con las corrientes de entrada para las que tambien 
existen dos valores umbrales, /,// y In. Cuando estas condiciones no se cumplen en las fronteras entre 
circuitos de distintas familias nos encontramos con problemas de funcionamiento, ya que un circuito 
puede interpretar que la seiial de entrada es un "1", cuando en realidad es un "0", y a la inversa. 

Lo mismo ocurre con la seiial de salida. Existen unos valores umbrales para la tension y la 
corriente de salida que marcan el funcionamiento correcto, de forma que, siempre que la tension de 
salida supere el valor correspondiente a Vqh, podemos asegurar que el circuito responde con un "1" y 
siempre que este por debajo del valor de V^l se considera que responde con un "0". 

Asi, podemos definir los siguientes parametros: 



Vifj = minima tension de entrada que lapuerta reconocerd como un "1 " sin ninguna ambigiiedad 

Vii = maxima tension de entrada que la puerta reconocerd como un "0 " sin ninguna ambigiiedad 

^oH ~ minima tension de salida de lapuerta cuando se supone que responde con un "1 ". 

^oL ~ maxima tension de salida de la puerta cuando se supone que responde con un "0 ". 



De igual forma, tambien existen valores umbrales de las corrientes de entrada y salida que se 
representan por /,//, In, I^h, IqL- Estos parametros son utiles cuando es necesario calcular el 
'Jan-out" y "fan-in", valores tipicos de estos parametros para TTL y CMOS son los que se muestran 
en \afigura 4.25. 

Como podemos observar, los valores de las tensiones de entrada y de salida para valores de "1" 
y de "0" no coinciden. Por tanto, vamos a ver que pasa cuando conectamos una puerta CMOS a una 
TTL y una TTL a otra CMOS. 

Si conectamos una CMOS a una TTL nos encontramos que VohJ VoL de la puerta CMOS son 
ambas mas pequenas que los valores de Vu^ Vn de la puerta TTL, por tanto no se nos puede presentar 
el caso de que la puerta TTL interprete como "0" un "1" ni de que interprete como "1" un "0". 
Analogamente, si se conecta directamente una puerta TTL a otra puerta CMOS se verifica que Vgi de 
la puerta TTL es inferior al valor de V^ de la puerta CMOS, luego no hay lugar a error en cuanto a la 



interpretacion de un "0" a la entrada de la puerta CMOS. Sin embargo no ocurre lo mismo en el caso 
en el que la puerta TTL entrega un "1" a la puerta CMOS ya que Voffde la puerta TTL es menor que 
Vol de la CMOS. Es evidente que aqui necesitamos un desplazamiento de nivel. Esto se consigue 
conectando una resistencia entre la salida y la alimentacion (5 V) de la puerta TTL para asi aumentar 
el valor de VoH de la puerta TTL. El efecto de esta resistencia en paralelo con la resistencia de carga 
hace que esta disminuya y por tanto en ella cae menos tension cayendo mas en el transistor de salida. 
Es decir, aumentando Vqh- 



IiH=100M^ 



Vi„=2.8V 





0-T— 



loH^O, 7mA 



. IoL=IOmA 



IiH=10pA 
JiL=10pA 



Vm^S.SV 



■VoH=2.4V 







loH^O, 7mA 




IoL=10mA 



"0"- 



.5V 

■ VoH=4.9V 



■ V,L=0.01V 



Figura 4.25. Valores tipicos para las familias TTL y CMOS de los parametros que caracterizan la viabilidad del 
acoplo entre estar familias. 



Cuando se alimenta la puerta CMOS con una tension mayor de 5V, conviene conectar a la 
salida de la puerta CMOS que se va a conectar con la puerta TTL un diodo para impedir que la senal 
de entrada a la puerta TTL supere los 5 V. Este diodo se conecta entre la salida y la alimentacion de 
forma que si la seiial de entrada a la puerta TTL supera los 5 Fel diodo conduce e impide, actuando de 
retenedor, que a la entrada de la puerta TTL se le presenten mas de 5 V. 

Cuando la puerta CMOS es una puerta de baja corriente, no es capaz de suministrar la corriente 
necesaria para conmutar las puertas TTL. La solucion entonces es usar un Buffer CMOS que es capaz 
de absorber una corriente IqL superior a la 1^ que le entrega la puerta TTL cuando esta en baja y, 
ademas, es capaz de suministrar una IoH suficiente a la puerta TTL cuando esta en alta. La figura 4.26 
muestra estos sencillos circuitos de acoplo entre CMOS y TTL. 



VcciSvoltios) 




Ri 



TTL 



R2 



R3< 




-^^^-K-2 ^^ 



+^T3 



:r^. 




Figura 4.26. Acoplo CMOS-TTL-CMOS. 



4.4. CiRCUiTOS NAND Y NOR Y Puertas de Transmision en CMOS 

Para comprender el principio de sintesis de las puertas basicas en CMOS basta recordar que 
cada entrada debe atacar a un transistor de canal N y otro de canal P. Si los de canal N estan en 
paralelo y los de canal P en serie, obtenemos una puerta NOR y si los de canal P son los que estan en 
paralelo y los de canal N en serie obtenemos una puerta NAND. La figura 4.27 muestra los circuitos 
NOR y NAND en CMOS junto con sus tablas de verdad. 

En \a figura 4. 27. a basta con que una de las entradas este en alta para que el transistor Ni 6 el 
N2 este en saturacion o en zona triodo y la salida sea baja. El par formado por los transistores P] y Ni 
constituyen un inversor y el formado por P2 y N2 otro. El transistor P2 actiia como una resistencia en 
serie de valor muy alto o muy bajo dependiendo de la tension de entrada. Analogamente el transistor 
Pi actiia como otra resistencia serie en el otro inversor, P2-N2. Asi, la salida solo esta en alta cuando 
los dos transistores de canal P, Pi y P2, estan en conduccion. Esto solo ocurre si ambas entradas estan 
a tierra ("0"). 

Se pasa de NOR a NAND en CMOS intercambiando los transistores de canal P por canal N y 
dando la vuelta al circuito. La tabla de \& figura 4.28 muestra la forma de pasar de NAND a NOR y 



viceversa realizando este tipo de intercambio en las posiciones relativas de los transistores de canal P 

yN. 



A 
B 



(a) 



B 
(b) 



^ 



^ 



Vdd 
Pi 

P2 



4^ 



f=AB = A+B 



r^ 



N2 

Vdd 
P2 



tN2 



■jZNi 



f=A+B=AB 



A 


B 


f(NOR) 








1 





1 





1 








1 


1 






A 


B 


/•(NAND) 








1 





1 


1 


1 





1 


1 


1 






Figura 4.27. Puertas NOR y NAND en CMOS, (a) NOR. (b) NAND. 



Otro bloque importante para la construccion de circuitos integrados en CMOS son las puertas 
de transmision. El propio principio de funcionamiento de los MOS lleva implicita su aplicacion a 
puertas de muestreo. La conductancia entre los terminales de fuente (S) y drenador (D) varia 
drasticamente en funcion del potencial en el otro terminal aislado (puerta, G) (figura 4.29). 

Si la realizamos con un solo transistor, idealmente no deberia haber cambio en el nivel de seiial 
entre drenador y fuente. Eso es cierto cuando Vd = OV, pero cuando Vd = Fdz)> con la puerta cerrada 
(Vq »Vx), el transistor actiia como un seguidor por fuente y la capacidad C se carga a una tension 
menor que Vd debido a Vj-- Cuando el drenador cambia a "0", la capacidad se descarga a traves del 



transistor en sentido opuesto actuando este como una configuracion en fuente comiin. 




NAND 



P 

N 



Vdd 



N 



-*- P 

-^Vdd 



Figura 4.28. Reglas de transformacion para pasar de NAND a NOR y viceversa cambiando la posicion relativa 
de los transistores de canal P y N. 



D 



X 




■^GS3 
-^GS2 



GSl 



Ron <20^ 500 Q 
ROFF^ 109 ^ 10^4 n 

SD-k [(Vg- Vr)- Vd] = k (Vg- VT)=f(VG) 



V 



DS 



Figura 4.29. Puertas de transmision en CMOS. Principio de fiincionamiento. El transistor MOS es 
esenciabnente un conmutador mandado por el potencial de puerta, Vq 

Usando transistores complementarios siempre habra un transistor (canal P o N) que transmita la 
seiial de la entrada a la salida sin atenuacion significativa. Ademas, mejoran los transitorios ya que la 
capacidad parasita se carga y descarga siempre a traves de un dispositivo en conduccion. La puerta de 



transmision en CMOS es la de Xafigura 4.30 en la que se incluyen tambien el esquema simplificado y 
el simbolo logico. 



{Vdd) 



V. 

I 



Gp 



Ny 



+ 



Gn 



Vo V. 



(Vss) 



Gp 



i^ss) 



IS 

Gn 



Gp 




Gn 



Figura 4.30. Circuito de la puerta de transmision, esquema simplificado y simbolo logico. 



Cuando la puerta esta en conduccion la corriente puede pasar en ambas direcciones y esto 
ocurre cuando Vqp coincide con Vss- La linica limitacion en el potencial de entrada es que debe 
encontrarse entre el potencial de drenador (Vdj)) y el del sustrato (Vss), ^SS < '^i < ^DD- Es decir, 
debe ser positivo respecto del sustrato (Vss) del dispositivo de canal N y negativo respecto del 
sustrato (Vjjd) del dispositivo de canal P. En el caso inverso, (Vqp = Vdd y ^GN - ^SsX 1^ puerta 
esta en OFF ofreciendo un valor muy alto de impedancia (R>10^ Q.) y la entrada queda desconectada 
de la salida. Cuando se combina la puerta de transmision en CMOS con un inversor se obtiene un 
conmutador bilateral, tal como se ilustra en Xa figura 4.31. 

Las puertas de transmision constituyen de hecho un bloque funcional basico para el diseno de 
toda la logica estatica, tanto combinacional como secuencial. Asi, usando puertas de transmision 
podemos sintetizar funciones logicas elementales (OR, XOR, ...), circuitos de ruta controlada de datos 
(multiplexores y demultiplexores), circuitos aritmeticos (sumadores), circuitos biestables tipo D, 
registros de desplazamiento, etc... Sin embargo, la necesidad de aumentar la densidad de integracion y 
las prestaciones de los circuitos integrados en gran escala ha hecho que el diseno de puertas de 
transmision se simplifique, abandonando la complementariedad de los procesos CMOS y buscando 
soluciones que solo necesitan un transistor NMOS para sintetizar la funcion de un conmutador. 



Veremos mas adelante este uso de los conmutadores en la programacion de las interconexiones en los 
dispositivos logicos programables y en las celdas de memoria RAM dinamicas, entre otras 
aplicaciones. 



















^ (Vss) 


) 


K 


Reloj 






Reloj 








TL 


TL 







Figura 4.31. Conmutador bilateral en CMOS 



4.5. CiRCUiTOS BiCMOS 



Ya hemos comentado previamente que los inversores CMOS ofrecen unas caracteristicas 
funcionales y estructurales muy proximas a las de un inversor ideal: alta impedancia de entrada, baja 
impedancia de salida, caracteristica de transferencia simetrica con muy alta ganancia en la zona de 
transicion, alta inmunidad al ruido, muy bajo consume y, ademas, ocupando muy poca area de silicio, 
por lo que es posible alcanzar altas densidades de integracion. 

Sin embargo, CMOS tiene el inconveniente de la velocidad que siendo alta no alcanza los 
valores propios de la tecnologia bipolar no saturada (ECL). La razon de esta limitacion en la 
velocidad esta en sus bajos niveles de corriente que no le permiten cargar y descargar capacidades tan 
rapido como ECL. Por eso se busca una solucion de compromise entre las buenas caracteristicas de 
CMOS y la velocidad de ECL sin tener que pagar el alto precio del excesivo consumo de la logica 
bipolar no saturada. 

La solucion salomonica es la de la tecnologia BiCMOS que usa los procesos CMOS para la 
sintesis logica inicial, manteniendo asi la alta densidad de integracion y el alto valor de la impedancia 



de entrada, y termina con una configuracion bipolar (tipo "push-pull") capaz de suministrar los 
niveles de corriente necesarios para mover la carga almacenada en las capacidades rapidamente. 

La figura 4. 32. a muestra el esquema generico de un inversor BiCMOS. Cuando la entrada esta 
en alta, el transistor NMOS, Mi, esta en conduccion, haciendo que tambien conduzca el transistor 
bipolar Ti, mientras que M2 y T2 estan al corte. Al conducir Ti, la tension de salida, v^, esta en baja, 
ya que corresponde a la tension colector-emisor de un transistor bipolar proximo a la saturacion. 

De forma complementaria, cuando la tension de entrada, v„ esta en baja, conducen M2 y T2 y 
Ml y Ti estan al corte. Asi, la tension de salida, Vq, es alta. Observese que los dos transistores de 
salida, Ti y T2 actuan como un divisor de la tension de alimentacion, V[)d, en dos partes, 
dependiendo del valor de las impedancias de Ti y T2 cuando estan al corte y cuando conducen. 
Ahora, cuando Ti esta al corte, su impedancia equivalente (union de colector polarizada en inversa) es 
mucho mayor que la de T2, por lo que practicamente toda la tension Vdd cae entre el colector de Ti y 
tierra y, por consiguiente, la tension Vq es la del estado de alta. 



V^DD 




Figura 4.32. (a) Esquema basico de un inversor BiCMOS. (b) Inversor BiCMOS donde se han sustituido las 
impedancias Zj y Z2 por los transistores M^ y M4. 



Para mantener la funcion de las impedancias Zy y Z2, necesarias para extraer la carga de base de 
los transistores bipolares cuando pasan al corte y para facilitar la integracion se sustituyen por otros 
dos transistores, tal como se muestra en Xs. figura 4.32.b. Estos nuevos transistores, Ms y M4, poseen 



impedancias activas equivalentes diZiy Z2 y, ademas, cuando no son necesarios no estan activos y, 
por consiguiente, no consumen. 

Una vez captada la idea del diseno BiCMOS (MOS en la entrada y etapa bipolar push-pull a la 
salida), es facil pasar del inversor a otras puertas NAM) o NOR. Por ejemplo, \&figura 4.33. muestra 
el circuito correspondiente a una puerta NAND. Observese que no hemos tocado la parte de salida y 
solo hemos cambiado la parte CMOS de entrada. 



-tGQ 




n-' 






Vdd 



^T. 



i 



Figura 4.33. Puertas NAND de 2 entradas en BiCMOS. 



4.6. COMPARACION DE FAMILIAS LOGICAS 



Dado el proposito esencialmente pedagogico de este texto y la rapida evolucion de la tecnologia 
electronica es dificil y de dudosa utilidad el intentar comparar series concretas dentro de una familia y 
entre familias. Por eso el contenido de este apartado es de naturaleza cualitativa. La tabla de la figura 
4.34 muestra un resumen de las ventajas e inconvenientes de las distintas familias. 

Desde su introduccion a comienzos de los aiios sesenta (serie 4000), la familia CMOS ha ido 
evolucionando, incorporando distintas mejoras en el proceso de fabricacion para optimizar sus 
caracteristicas propias (bajo consumo, alta inmunidad al ruido y diversidad de fuentes de 
alimentacion) y mejorar en otras caracteristicas inicialmente asociadas a otras familias, tales como la 



velocidad de conmutacion. Las series 4000B y 74C de CMOS con puerta de silicio redujeron el 
retardo de propagacion y el area ocupada, con un consumo del orden de los lOnW, en comparacion, 
por ejemplo, con los 2mWde las series TTL de bajo consumo. El comportamiento de la serie HCMOS 
(9ns de tiempo de propagacion) es comparable en velocidad y corriente disponible a las series 54LS y 
74 LS, pero con un consumo mucho menor. 



Familia 


Ventajas 


Inconvenientes 


Otras familias 
mejoradas 


TTL 


♦ El menor producto retardo por 


♦ Generacion de ruido 


74Hxx 




disipacion depotencia 




74Sxx 


(74xx) 


♦ Buena flexibilidad logica 




74Lxx 




♦ Baja impedancia de salida 




74LSXX 




♦ Buena inmunidad al ruido 




74ASXX 




♦ Numerosas funciones 




74ALSXX 


ECL 


♦ El menor retardo de propagacion 


♦ Alta disipacion (40 mW) 


MECL lOK 




♦ Buena flexibilidad logica 


♦ Necesita circuito de adaptacion 


MECL lOOK 




♦ Salidas complementarias 


con otras familias 


MECL 300K 




♦ Baja impedancia de salida 








♦ Buena inmunidad al ruido 








♦ Baja generacion de ruido 






MOS 


♦ Alto fan-out 


♦ Incompatibilidad con otras 






♦ Gran densidad de integracion 


familias 






♦ La NMOS es mas rapida que la 


♦ Alta impedancia de salida 






PMOS 


♦ No admite cableado logico 

♦ Baja velocidad (PMOS) 




CMOS 


♦ La de menor disipacion depotencia 


♦ No admite cableado logico 


74HCxx: 


(400CXX, 


♦ Amplios margenes de ruido 


♦ Menos rapida que TTL y ECL 


74HCTXX 


♦ Alto fan-out y alto fan-in 




74ACTXX 


74Cxx) 


♦ Amplios margenes en la alimentacion 




74AHCTXX 




♦ Buena inmunidad al ruido 




74FCTXX 
74ACTQXX 








74VHCXX 








74VHCTXX 



H: Alta velocidad. L; Baja potencia. S: Schottky. A: Avanzada. C: CMOS. T: Compatible con TTL. V: muy., U: Ultra. 
FAST™ t FACT™: Marca registrada Fairchild: Circuitos avanzados de alta velocidad en TTL y CMOS. 
TingLogic™ de Fairchild: HS, HST, UHS en tecnologia CMOS (2 micron) que admite alimentacion variable 
Crossvolt™ de Fairchild: LCX, LVX VCX en tecnologia CMOS y LVT y LVTH en tecnologia BICMOS 



Figura 4.34. Tabla de comparacion entre las distintas familias logicas. Las familias mejoradas se basan en las 
basicas correspondientes en las que se ha optimizado algimo de sus parametros. 



Hemos visto tambien como la familia BiCMOS intentaba quedarse con lo mejor de CMOS y 
ECL, anadiendo una etapa bipolar a la salida para aumentar la capacidad de las puertas para manejar 
niveles de corriente mas altos que los usuales en CMOS. 

En resumen, en cuanto a consumo la mejor solucion es CMOS a 5F. Si lo esencial es el tiempo 
de propagacion, debe elegirse ECL, pero recordando que su consumo es del orden de 25m W, frente a 
los SfiWde CMOS. En cuanto a iimiunidad al ruido la mejor es CMOS a 18F(si bien aqui no hemos 
considerado la familia de alto umbral, HTL, que seria la vencedora en este parametro). Cuando 
aumenta el nivel de integracion, la balanza se inclina de nuevo hacia MOS y CMOS. 

Conviene recordar finalmente que el campo propio de la tecnologia CMOS es la integracion en 
muy gran escala donde el conjunto de sus caracteristicas (alta densidad, alta velocidad, bajo consumo 
y bajo coste de fabricacion) la ban convertido en dominante en el estado actual de la tecnologia 
electronica. Tendremos ocasion de comprobarlo a lo largo del texto, a medida que aumente la 
complejidad de los circuitos. For ejemplo, en las memorias EEPROM reprogramables electricamente, 
en las memorias RAM estaticas y dinamicas, en los circuitos logicos programables, etc. En todos los 
casos, sea cual fuere la arquitectura y la funcion, el proceso de base es CMOS. 

4.7. Problemas^*^ 

Hemos visto las familias logicas ECL, MOS y CMOS siguiendo el mismo procedimiento del 
tema anterior. Es decir, dentro de cada familia hemos elegido una puerta representativa, NAND, NOR 
o inversor y hemos explicado su funcionamiento. En los casos MOS y CMOS los circuitos son mas 
sencillos que en ECL. En estos ejercicios intentamos completar el contenido proponiendo el analisis 
de circuitos analogos a los incluidos en el tema. 

E.4.1. Con ayuda de las figuras y los comentarios referentes a la puerta NOR de la familia ECL 
del texto realizar la simulacion del circuito de lafigura 4.3 y obtener su caracteristica de 
transferencia para comprobar que realmente se comporta como un inversor. Determinar 
con ayuda del simulador la funcion de los transistor es T^y T^. ^Por que son necesarios?. 



(•) 



La solucion de estos ejercicios se encuentra en el texto de problemas. 



lEn que region trabajan?, ipor que?. Compdrense las salidas inversoras y no inversoras 
con las tensiones en los nudos 1 y 2. ^Cudl es la ventaja de disponer de salida inversora y 
no inversora? 

E.4.2. La figura adjunta muestra el esquema minimo de una puerta NOR en ECL, en el que, 
ademds, se ha separado el amplificador diferencial de entrada (Tl, T2, T3) de los dos 
transistores seguidores de emisor (T4 y T5) usados para desplazar los niveles de tension y 
modificar las impedancias de salida. 




a) Analizar primero el par diferencial y comprobar cualitativamente que en los puntos 1 y 3 
aparecen lasfunciones NORy OR de las entradas (X, Y). 

b) Calcular Rj y R2para que el valor de la tension de referenda sea 1.2V. 

c) Analizar el comportamiento de T4y Tj. ^Invierten la serial?. ^Cudl es la diferencia entre el 
potencial en 3 y en 4?. ^Por que?. 

d) Sabiendo que Vcc = 5.2V y Vref= 1-2V, estimar los valores de las tensiones en los puntos 
1, 2, 3. 4, 5. 6,y 7 cuando entraX="l", Y="0" y cuando entra X=Y="0". ^Que valores 
considera razonables para V("0") y V("l") sabiendo que Vref= 1.2V y que Vbe(ON) = 
0.7V, VcE(sat) = 0.2V y VBE(corte) 0.5V. 

E.4.3. Explicar el funcionamiento de los circuitos de acoplo entre ECL y TTL que se muestran en 
las figuras 4.6 y 4.7.a. Resolver el divisor de tension de la figura 4.6 (con Ri=180fi, 
R2=270ny R^=820Q) usado para atenuar las salidas TTL hasta los niveles que requiere 
ECL. En la explicacion del funcionamiento del circuito de la figura 4. 7. a conviene darse 



cuenta que los transistores usados en el par diferencial son PNP. 



E.4.4. Dado el circuito de la figura dibujar la caracteristica de transferencia cuando la entrada 
pasa de estado bajo a estado alto. Vuelvase a calcular ahora pero suponiendo que la 
entrada pasa de estado alto a estado bajo. Discutanse los resultados obtenidos. ^Para que 
tipo de aplicaciones puede resultar prdctica esta puerta?. Obtengase la caracteristica de 
transferencia por simulacion. Suponganse V("0" ) = 3.5V y V("l" ) = 4.5V . 



r-Vc.,=5,2 V 




E.4.5. 



E.4.6. 



a) 
b) 



E.4.7. 



La figura 4.28 del texto muestra las reglas de transformacion para puertas CMOS NAND y 
NOR. Aplicalas proponiendo las soluciones complementarias a las de la figura 4.27. 

La figura 4.12.b muestra las caracteristicas de transferencia del inversor CMOS. 
Compruebe que las comprende contestando a las siguientes cuestiones: 
^Cudl es el significado fisico de las tensiones V'xpy Vfj^? 

En la caracteristica hay marcadas cinco regiones que corresponden a distintas 
configuraciones en los estados de los transistores Tp y Tj^ (corte, saturacion, triodo). 
Compruebe la tabla de la figura 4.22 mostrando la configuracion correspondiente a cada 
una de esas regiones. Usar como apoyo lasfiguras 4.20 y 4. 21. a. 

El circuito integrado 4007UB de la figura adjunta contiene tres transistores canal P y tres 
de canal N trabajando en modo de realce y con sus terminales accesibles desde el exterior 
parapoder configurar al circuito en la realizacion de distintas funciones. iComo deberian 
realizarse las conexiones externas para obtener: 



a) 
b) 
c) 
d) 
e) 



Tres inversores independientes. 

Unapuerta NOR de 3 entradas. 

Una puerta NAND de 3 entradas. 

Una puerta de transmision bidireccional. 

Un inversor de tres estados con la siguiente tabla de control: 




Entrada 


Facilitacion / Inhibicion 


Salida 


1 

X 





1 




1 

abierta 



E.4.8. Realicese la simulacion del inversor CMOSy obtengase la caracteristica de transferencia y 
la corriente Id~Id(^g)- Calculense grdficamente las tensiones umbrales de los dos 
transistores que intervienen (Vj^, V„) y los mdrgenes de ruido a partir de los datos 
obtenidos en simulacion. 

E.4.9. Dado el circuito logico de la figura adjunta determinar la funcion logica que realiza. 
Comprobar los razonamientos mediante la simulacion. 



HLN, 



C 



N. 



Ncjl 



-Y=f(A,B,C) 



C 



B 



¥ 



^^^^ 



Preparacion de la Evaluaclon 



Objetivos 



1: Familia Logica ECL 

2: Familia Logica MOS 

3: Familia Logica CMOS 

4: Acoplo y compraracion defamilias 



1. Familia Logica ECL 

1.1. iPodria describir las dificultades de la familia TTL para aumentar la velocidad de 
conmutaciony las razones por las que ECL no tiene eseproblema?. 

1.2. Lafigura 4.4.de este tema muestra las caracteristicas de transferencia de un circuitos ECL 
(serie lOK). ^Podria explicarla y calcular sus mdrgenes de ruido para las niveles alto y 
bajo?. ^Que reflexion le merece esos resultados en comparacion con los de TTL?. 

1.3. En el esquema bdsico de ECL explicado en el tema hemos hecho enfasis en el amplificador 
diferencial de entrada (transistores Tj y Ti), ^podria ahora explicar lafuncion que realizan 
los transistores T3 y T^y los cambios que introducen en el valor de corrientes y tensiones?. 

1.4. El circuito de lafigura adjunta es prdcticamente identico al que hemos us ado en el tema pero 
con valor es diferentes en las resistencias. Intente calcular de forma aproximada el valor de 
los niveles logicos, v("0 ") y v("l "). 



Recuerde que: Vg£(Ti) en activa « 0.7F 



JeM- 



R. 



4("1") = 



-5.2-(v, + F,J 



R. 



Vc2=Ic2-Rc2'-Ie("01-Rc2 
Vo("0")= Vc2-Vbe(T3) 



Vci=lcrRci«lE("l")-Rci 

Vo("l")= Vci-Vbe(Ti) 




f^=-5.2V 



2. Familia Logica MOS 

2.1. ^Que diferencias esenciales hay entre las tecnologias Bipolar y MOS?. ^Por que es mas 
adecuada la segunda para alta densidad de integracion? . 

2.2. iQue analogias y diferencias encuentra entre RTL y PMOS?. ^Podria explicar por que un 
MOS de carga y canal N opera como una resistencia al unir drenador y fuente? . 

2.3. Intente explicar el significado fisico de la curva de lajigura 4.13. 

2.4. Recordando lafuncion de resistencia que realiza el transistor MOS de carga, ^podria dibujar 
los circuitos correspondientes apuertas NANDy NOR de ires entradas?. 

3. Familia Logica CMOS 

3.1. iPodria enumerar las caracteristicas de una familia logica ideal?. ^Podria compararlas con 
las de la familia CMOS?. 

3.2. Hemes visto en el tema el estudio detallado del inversor CMOS con dos transistores MOS 
trabajando en modo de realce, uno de canal N (Tn) y otro de canal P (Tp) con los niveles 
logicos: 

v("1") = Vdd v("0") = Vss = OV 

^Podria explicar la caracteristica de transferencia, y obtener los posibles puntos de trabajo 
para un inversor CMOS en el que el transistor impulsor es de canal Py la carga de canal N?. 



^En que se modifican los niveles logicos?. 

3.3. La tabla 4.2 resume el estado funcional de Tj^ y Tp en cada una de las cinco zonas de la 
caracteristica de transferencia. ^Podria explicarla describiendo cualitativamente los 
procesos que ocurren a medida que la tension de entrada, v„ pasa desde hasta Vdd?. 

3.4. Use el simulador para obtener las caracteristicas de transferencia del inversor CMOS. Si 
encuentra dificultades, le sugerimos que revise el problema resulto E.4.8. Alii encontrard 
"pistas " y "buenos valores " de tension y de los incrementos. 

3.5. Dibuje el circuito correspondiente a las puertas NAND (NOR) en CMOS y use las reglas de 
transformacion de lafigura 4.22 para pasar a NOR (NAND). 

3.6. Comente la idea que subyace a todas las puertas de tres estados. Extienda la estrategia 
seguida para convertir el inversor CMOS a tres estados a las otras puertas (NAND y NOR). 
Recuerde que lo que buscamos siempre es la posibilidad de aislar elpunto de salida, Vq, tanto 
de lafuente, V£>d, como de la tierra. 

4. Acoplo y comparacion de familias. 

4.1. ^Podria enumerar y definir los criterios de evaluacion de familias descritos al comienzo del 
tema 3?. Apliquelos a ECLy CMOS. 

4.2. Explique el funcionamiento de los circuitos de acoplo entre ECL y TTL que se muestran en 
lasfiguras 4.6 y 4. 7 del texto. (Acuda al problema resuelto E.4.3 si encuentra dificultades). 

4.3. ^Podria explicar la necesidad del acoplo entre circuitos pertenecientes a las familias logicas 
TTL y CMOS?, i Y entre TTL y ECL?. ^ Y entre ECL y CMOS?. 



^^^^^ 



Referencias Bibliograficas 

1. Carmona Suarez, E., Mira Mira, J.: "Problemas Resueltos de Fisica de Dispositivos 
Electronicos" . UNED (ref. 07407). Madrid, 2000 

2. Mira, J., Delgado, A.E.: "Electronica Analogica Lineal" Tomos 1. UNED (ref. 074076). 
Madrid, 1993. 

3. Rabaey, J.M..: "Digital Integrated Circuits. A Design Perspective". Prentice Hall Inc. 1996 

4. Uyemura, J.P.: CMOS Logic Circuit Design. Kluwer Academic Pub. Mass. 1999. 

5. Weste, N.H.E. y Eshraghian, K.: "Principles of CMOS VLSI Design". Addison-Wesley Pub., 
1994. 







Logics Combinacional (l): 
Funciones Aritmetico-Logicas 



■^ CONTEXTO 

En los temas anteriores hemos visto los operadores bdsicos necesarios para la sintesis de 
funciones en electronica digital, las bases electronicas necesarias para comprender el diseno de 
estos operadores (transistores y diodes en corte y saturacion) y las distintas familias logicas 
que aportan soluciones concretas en tecnologias bipolar y MOS. 

A partir de aqui podemos volver al nivel logico y considerar las puertas AND, OR, NOT, 
NAND y NOR como dispositivos de varies terminales caracterizados por su tabla de verdad y 
par los pardmetros de la familia correspondiente. Es decir, como modulos funcionales de bajo 
nivel a partir de los cuales se disenan los modulos del nivel intermedio, sin preocuparnos en 
general de su estructura interna. 



Empezamos asi la siguiente etapa de la electronica digital ("sistemas digitales "), centrada 
en torno al andlisis de necesidades computacionales de los grandes sistemas de procesamiento 
digital de la informacion y al desglose de esas necesidades en un nivel defunciones intermedias 
que se corresponden aproximadamente con el nivel de integracion en media escala. La figura 
adjunta situa en contexto estas funciones. 







/" N 








Operadores Logicos 






V y 






" 


f > 






Sintesis en Bipolares y MOS 






'^ y 




' ' 




r ^ 






FUNCIONES INTERMEDIAS 






V y 




^ 


-^-""^ ' ' ^^ 


■^ 


/" N 


r >. 


/ -s 


Combinacionales 


Secuenciales 


de Interface 


\ J 


V J 


V J 






W W 






• Contadores 
■ Registros 


Conversores 
• A/D 






■ Temporizadores 


• D/A 






• Memorias 


V J 


1 


' ' 


' 


' 


Funciones 
Aritmetico-logicas 


Cambiadores de 
Codigo 


r ^ 
Ruta de Datos 

V J 


1 


' 




1 


r 


• Sumadores 






• Restado 
■ Compar 
•ALUs 


re 
ac 


s 
ores 

J 






• Demux 

• Bus transceivers 



En general, estas funciones se realizan a nivel de registro entre palabras de n bits y son la 
base de todos los sistemas digitales de comunicacion, instrumentacion, cdlculo y control. Toda 
computacion digital termina siendo una secuencia de operaciones aritmetico-logicas sabre un 
conjunto de palabras de n bits. 

Hay esencialmente tres tipos de funciones en logica combinacional: 

a) Funciones aritmetico-logicas (ALU) 

b) Funciones de ruta de datos 

c) Circuitos cambiadores de codigo 

a) Funciones aritmetico-logicas, (sumadores, restadores, multiplicadores y operaciones 
logicas bit a bit). Son las encargadas de realizar operaciones locales entre dos datos de n 
bits. 

b) Funciones de ruta de datos, (multiplexos, demultiplexos, transmisores-receptores de bus, 
etc.). Sufuncion es guiar el trdfico de datos e instrucciones entre las distintas partes de 
un sistema de cdlculo (de memoria a unidad aritmetica, etc.). La clave de estas funciones 
es el cardcter controlado del movimiento a traves de puertas que se abren o cierran de 
forma sincrona, en general, de acuerdo con los pulsos de un reloj. 

c) Circuitos cambiadores de codigo. Para cada tipo de proceso existe una representacion 
digital de la informacion que es mas adecuada que otras. For eso es necesario disponer de 
circuitos cambiadores de codigo. Su ejemplo mas general es el de las memorias de solo 
lectura (ROM), que son en realidad circuitos que sintetizan funciones multiples de forma 
que cada bit de la palabra de salida puede ser unafuncion logica cualquiera de todos los 
bits de entrada. 

Las funciones secuenciales las estudiaremos mas tarde y las de interfaz (esencialmente los 
conversores analogicos digitales y digitales analogicos) no las estudiamos en este texto. 

En este tema estudiaremos las operaciones aritmetico-logicas, los comparadores y la 
estructura interna de una ALU ('Aritmetic-Logical Unit'). En el capitulo siguiente 
estudiaremos las funciones de ruta de datos y despues, la logica combinacional programable. 

For razones pedagogicas, estudiaremos la estructura interna de los circuitos sumadores y 



restadores, de los comparadores y de las ALU's. Sin embargo, el alumno debe recordar que 
estas funciones ya existen integradas en media escala (SN74283, sumador binario paralelo de 4 
bits: SN74181, ALU; SN74182, generador de acarreo adelantado de 32 bits; SN74281, 
multiplicador binario paralelo de 2 bits x 4 bits) y como componentes reutilizables en una 
biblioteca de motivos para ser usados en el diseno asistido por computador de otras funciones 
mas complejas. 

Aquellos alumnos de informdtica que estudien este texto de Electronica Digital a la vez 
que cursan otras asignaturas como Estructura y Tecnologia de Computadores encontrardn 
cierto grado de solape. Aqui hacemos enfasis en el diseno electronico. Alii se extiende el estudio 
de la aritmetica incorporando versiones mas rdpidas, multiplicadores y aritmetica en coma 
flotante pero haciendo mas enfasis en la descripcion algoritmica y con diagramas de bloques y 
en el papel concreto que juegan estos circuitos en la arquitectura de un computador. 

-f -¥ CONOCIMIENTO PREVIO NECESARIO 

Todos los conocimientos previos necesarios sabre la representacion, andlisis, 
minimizacion y sintesis de funciones logicas se encuentran en el tema 1, de modo que en 
principio no deberiamos tener problemas al estudiar los circuitos necesarios para realizar 
operaciones aritmeticas y logicas con palabras de n bits. 

Esto es cierto si solo tuvieramos que operar con magnitudes enteras y positivas y si no 
tuvieramos limitaciones en cuanto a la longitud de los registros y la capacidad de memoria de 
un procesador digital. Sin embargo, necesitamos representar tambien los niimeros enteros 
negativos y el rango de valores posibles es limitado. Por eso introducimos un apartado inicial 
en el tema dedicado al estudio de los distintos metodos de representacion conjunta de niimeros 
positives y negativos. 

'¥'¥^ Ob JETIVOS DEL TEMA 

El objetivo general de este capitulo es dar a conocer la estructura interna de los circuitos 
que son capaces de realizar las operaciones aritmeticas y logicas necesarias para sintetizar las 
ALU's de cualquier sistema de cdlculo digital. Por consiguiente, comienza con la descripcion 



formal o algoritmica de una operacion, busca su sintesis eficiente usando puertas NAND o NOR 
y, finalmente, conecta con la electronica real haciendo referenda a las soluciones MSI 
(integracion en media escala) para esas funciones. Estas funciones integradas son (sumadores- 
restadores, ALU's y multiplicadores) a su vez componentes reutilizables de una biblioteca de 
modulos software para el diseno de otras funciones mas complejas en LSI y VLSI. 

Objetivo 1: Conocer los fundamentos de la aritmetica binaria. Distintas formas de 
representacion de los numeros positivos y negativos. 

Objetivo 2: Conocer los distintos tipos de circuitos sumadores y restadores (soluciones 
bdsicas y rdpidas y problema del rebose). 

Objetivo 3: Comprender el funcionamiento de los comparadores para palabras de n bits. 

Objetivo 4: Comprender el funcionamiento y la estructura interna de las ALU's tipo SN74 181. 

-^-^-^-^ GUIA DE ESTUDIO 

El conocimiento de este tema es muy cldsico y se encuentra, con muy pocas variaciones, 
en todas las referencias complementarias. Tambien se encuentra en la mayoria de los textos de 
Estructura y Tecnologia de Computadores como introduccion al estudio de las unidades 
aritmetico-logicas mas completas y complejas que el circuito SN74I81, tornado aqui como 
limite. 

La estrategia seguida en la presentacion del material es estudiar primero la funcion para 
un bit, pasar despues a operandos de n bits y, finalmente, estudiar los circuitos que aumentan la 
velocidad y/o la precision de la operacion. Aqui estudiaremos solo el aumento de la velocidad 
buscando soluciones rdpidas al problema del arrastre. No haremos mencion a la aritmetica en 
coma flotante. 



^^^ 



Contenido del Tema 



5.1. Represent AcioN Conjunta de Numeros Positivos y 
Negativos 

Tal como comentabamos en el apartado sobre conocimiento previo necesario para este 
tema es cierto que para operar con magnitudes enteras y positivas ya disponemos de todos los 
conocimientos previos necesarios para analizar y disenar circuitos que realicen operaciones 
aritmeticas y logicas con palabras de n bits. Sin embargo, necesitamos representar tambien los 
numeros enteros negativos y el rango de valores posibles es limitado. Una palabra de n bits solo 
admite 2" configuraciones diferentes y de estas, la mitad se gasta en los enteros positivos, una se 
gasta con el cero y el resto tenemos que gastarlo para representar los numeros negativos. Asi, por 
ejemplo, si nos limitamos a una maquina que trabaje con palabras de 4 bits, el maximo entero 
positivo (1111) vale 15 y no pueden existir operandos ni resultados de operaciones que superen 
ese valor. Si queremos incluir numeros negativos, tendremos que reservar un bit para el signo, 
con lo que el maximo numero decimal entero es ahora el que corresponde a los tres bits restantes 
en alta (1 1 1). Es decir: 




En general, para palabras de n bits, tendremos 2"-! numeros positivos y 2"-i negativos. 

Hay tres formas basicas que permiten la representacion conjunta de numeros 
positivos y negativos: (1) Signo y Magnitud (S-M), (2) Complemento a 1 (C-7) y (3) 



Complemento a 2 {C-2). Obviamente, la forma de representacion define el circuito que sintetiza 
el sumador correspondiente. 

Las tres formas de representacion usan el bit mas significativo para codificar el 
signo delnumero. Los niimeros que empiezan por cero son positivos y los que empiezan 
per uno son negativos. El resto de los bits codifican su magnitud. Por consiguiente, en 
el formato Signo-Magnitud (S-M) la codificacion es inmediata. Primero se pone el signo 
(0 = positivo, 1 = negativo), y despues los bits de magnitud. Asi, negar un niimero es 
simplemente reemplazar el bit de signo por su complementario. Observese que aqui el niimero 
cero tiene una doble representacion (+0 = 0000 y -0 = 1000, para 4 bits). 

Para sumar dos niimeros positivos o dos niimeros negativos, sumamos sus bits de magnitud 
y asignamos al resultado el signo de los sumandos. Asi por ejemplo, 

100 (+4) + 010 (+2) = 110 (+6) 

1 100 (-4) + 1010 (-2) = 1 110 (-6) 

Cuando los signos de los operandos no coinciden, restamos el de menor magnitud del otro 
y el resultado hereda el signo del de mayor magnitud. Asi, por ejemplo: 

100 (+4) + 1 010 (-2) = 010 (+2) 

1 100 (-4) + 010 (+2) = 1010 (-2) 

Por eso se han buscado otras formas de representacion, porque la que es aparentemente 
mas sencilla obliga a una sintesis mas complicada. Si un circuito sumador tiene que manejar 
niimeros negativos en la representacion signo-magnitud necesitara incluir, ademas del sumador, 
un restador y dos comparadores, uno para el signo y otro para la magnitud. 

En la representacion en Complemento a 1 {C-1), los niimeros negativos se obtienen 
complementando uno a uno todos los bits de la representacion del niimero positivo 
correspondiente. Asi +3 = 01 1 y -3 = i 100. 

Observese que tambien aqui tenemos dos representaciones diferentes para el cero 
(+0 = 000 y -0 = 1111), pero la ventaja de esta representacion es que la resta se implementa 
con una negacion y una suma: A-B=A+(-B) Para elimmar la complicacion asociada a la doble 
representacion del cero se usa el metodo del complemento a la base, o sea complemento 



a 2 iC-2). 

En la representacion en complemento a 2 {C-2), los numeros positives se representan 
colocando un cero a la izquierda de los bits que representan la magnitud, como en las otras dos 
representaciones. Los numeros negatives se representan a partir de los positives 
correspondientes complementando todos los bits y sumando un "1" al resultado. Al igual que en 
la representacion en C-1, la resta se implementa con negacion y suma, pero ahora el cero solo 
tiene una representacion (+0 = 000). Para comparar las tres representaciones conviene 
observar las tablas de \2lS figuras 5.1 y 5.2 viendo las analogias y diferencias para palabras de 
cuatro bits (tres de magnitud y uno de signo). 



Configuraciones 
Binarias (4 bits) 


N" equivalente en decimal 

distintas representaciones ( 


segun las 
;n binario 


^^"""^ S-M C-1 
Puro 


C-2 


000 


+0 +0 


+0 


001 


1 +1 +1 


+1 


010 


2 +2 +2 


+2 


oil 


3 +3 +3 


+3 


100 


4 +4 +4 


+4 


101 


5 +5 +5 


+5 


no 


6 +6 +6 


+6 


111 

1 000 


7 +7 +7 


+7 


8 -0 -7 


-8 


1 001 


9 -1 -6 


-7 


1 010 


10 -2 -5 


-6 


1 oil 


11 -3 -4 


-5 


1 100 


12 -4 -3 


-4 


1 101 


13 -5 -2 


-3 


1 no 


14 -6 -1 


-2 


1 111 


15 -7 -0 


-1 



Figura 5.1. Tabla resumen de las distintas formas de representacion conjunta de numeros positivos y 
negatives. Pasamos de binario al niimero eqmvalente en decimal. 



En la tabla de \& figura 5.1 se representan las 16 configuraciones binarias posibles para 
palabras de cuatro bits. En la parte derecha aparecen los distintos valores decimales equivalentes 



dependiendo del modo de representacion usado para interpretar el significado de esas 16 
configuraciones binarias. Asi, en la columna "binario puro" aparece el valor decimal equivalente 
cuando la palabra de cuatro bits se interpreta en la codificacion binaria usual, sin admitir 
niimeros negatives. En las otras tres columnas, solo nos quedan tres bits para la magnitud, por lo 
que representamos del al 7 y del -0 al -7 (en S-My C-1) 6 del al 8 y del -1 al -7 (en C-2). Por 
ejemplo, la configuracion 1001, si nos dicen que esta en binario puro decimos que su equivalente 
decimal es 9. En cambio en S-M su equivalente decimal es -1, en C-1 es -6 y en C-2 es -7. 



Decimal 


Signo y Magnitud 

(S-M) 


Complemento a 1 

(C-1) 


Complemento a 

la base 2 

(C-2) 


7 


0111 


0111 


0111 


6 


0110 


Olio 


0110 


5 


0101 


0101 


0101 


4 


0100 


0100 


0100 


3 


0011 


0011 


0011 


2 


0010 


0010 


0010 


1 


0001 


0001 


0001 





0000 6 1000 


0000 6 nil 


0000 


-1 


1001 


1110 


nil 


-2 


1010 


1101 


1110 


-3 


1011 


1100 


1101 


-4 


1100 


1011 


1100 


-5 


1101 


1010 


1011 


-6 


1110 


1001 


1010 


-7 


nil 


1000 


1001 


-8 


(*) 


(*) 


1000 



(*) Hace falta un bit mas para representarlo 



Figura 5.2. Obtencion de las tres representaciones (S-M, C-1 y C-2) para un conjunto de numeros en 
representacion decimal. 

La tabla de \a figura 5.2 representa el proceso inverse al de \a figura 5.1. Ahora partimos 
de los numeros en decimal y obtenemos las 16 configuraciones binarias equivalentes en cada uno 
de los tres convenios de representacion {S-M, C-1 y C-2). Observese que desde +7 hasta -7 no 
hay problemas, pero para representar -8 ya nos hace falta un bit mas, salvo en C-2. 



Finalmente, en \a figura 5.3 se ilustra de forma resumida el proceso de obtencion de la 
representacion de un numero negative (por ejemplo, -5) en cada uno de los tres modos de 
representacion que ya conocemos. En todos los casos partimos de la representacion del numero 
positivo correspondiente (+5, por ejemplo). Despues realizamos las transformaciones 
individuales correspondientes para cada representacion. Asi, en la de M-S cambiamos el primer 
bit a la izquierda (bit de signo). En C-1 se complementan todos los bits y en C-2, se 
complementan tambien todos los bits y se suma 1 al resultado. 



Representacion de - 5 



Representacion de -5 
enS-M 
101 

i 
1101 



Representacion en binario de +5 
0101 



Representacion de -5 
enC-i 

101 

T i T T 

1 010 



Representacion 


de-5 


en C-2 




O.lQl 




t ttt 
1 010 




+ 1 




1 oil 





Figura 5.3. Ilustracion del proceso de obtencion de las tres representaciones de -5 (S-M, C-1 y C-2). 



Estos procedimientos de representacion terminan en configuraciones binarias faciles de 
intercambiar mediante circuitos logicos sencillos. Por ejemplo, si queremos pasar de forma 
automatica de la representacion S-M a C-1 para palabras de tres bits, por simple inspeccion de 
las tablas de conversion (figura 5.4.), las expresiones de y2, yi e yo (de C-1) en funcion de la 
suma de terminos minimos de X2, xi y xq (de S-M) son: 



yi - x2XjXq +x2XjXo +X2XJX0 + X2XIXQ = X2 ® Xj 
yg = x2XjXq + X2XIXQ + X2 xj xq + X2Xj xq = X2 ® Xq 



[5.1] 



Signo y Magnitud 

(S-M) 


X2 X] Xg 


1 1 


1 


1 





1 


1 1 


1 1 


1 1 1 




Convertidor 

de un n° de 3 bits 

representado 

en S-M a C-1 



■y2 
■yi 
yo 




Complemento a 1 
(C-1) 


y2 yi yo 


1 1 


1 


1 


000 


1 1 1 


I I 


1 1 


1 



Figura 5.4. Circuito convertidor de S-M a C-1 . 

Podemos usar cualquiera de estas representaciones. Lo importante es que mantengamos la 
consistencia e interpretemos adecuadamente los resultados. El problema fundamental es el del 
''rebose" {overflow) que se produce cuando el resultado de una operacion genera un numero que 
no cabe en la representacion para un cierto tamano de palabra. Es decir, hacen falta mas bits para 
poder representar el resultado de la operacion de suma. For ejemplo, (- 7) + (— 7) = - 14. 

La suma de niimeros en C-2 se obtiene a partir de una misma operacion de suma sobre 
todos los bits de los operandos. Solo puede haber rebose cuando ambos operandos son positivos 
(bits de signo = 0) y la suma es negativa (signo = 1), o bien cuando ambos operandos son 



negatives (bit de signo = 1) y la suma es positiva (signo = 0). Estas situaciones se detectan 
comprobando el signo del resultado. Si este signo es correcto, no hay rebose. 

5.2. SUMADORES Y RESTADORES. 

Hemos visto las distintas formas de representar numeros positivos y negatives con 
palabras binarias de n bits. Ahora tenemos que ver como pueden realizarse las distintas 
operaciones aritmeticas con circuitos combinacionales. Las cuatro operaciones aritmeticas 
basicas son suma, resta, multiplicacion y division, pero si no estamos preocupados por la 
velocidad, las operaciones basicas son las de suma y resta porque con ellas podemos sintetizar 
todas las demas. 

5.2.1. Semisumadores 

Empecemos viendo la sintesis de los circuitos "semi-sumadores" (HA), Uamados asi 
porque realizan solo la suma de dos palabras de un bit cada una {A y B) dando como salida su 
suma binaria ( 5 ) y el arrastre (C ). 

Su sintesis es inmediata a partir de las tablas de verdad de lafigura 5.5.b. En cuanto hay 
un bit en alta, 5 es "1" y cuando estan los dos, S es "0", pero C es "1". Es decir, el arrastre es el 
producto logico y la suma el OR exclusive. 



C = AB 



y 



S = AB + A-B = A®B 



[5.2] 











(b) 

AB = 
















^ 


1—5 




A -I 


"^ 


r 


A 


B S 


c 








R -l 




c 




1 
1 



1 





1 
1 






1 














-^HA 




1 






A®B 






(a) ' 


(c) 


s 
c 


= AB + 
= AB 







Figura 5.5. Semisumador. (a) Circuito. (b) Tablas de verdad. (c) Expresiones de la suma y el arrastre. 



5.2.2. Sumadores 

Si queremos sumar palabras de n bits tendremos que proporcionar un metodo de encadenar 
varies sumadores de un bit. Tal como opera el "semi-sumador" solo tiene en cuenta dos entradas, 
A y B, pero no el potencial acarreo procedente de la suma de los bits menos significativos 
anteriores. El circuito que toma en cuenta ese acarreo se llama sumador completo (FA) y es un 
circuito combinacional con tres entradas A, B y C,.] y dos salidas S; y C,. Veamoslo 
formalmente. 

Dos niimeros binarios de n bits, A = A„^j An.2 ■■■ Aq y B = B„_j B„,2 ■■■ Bo se suman en 
base dos de la forma que se ilustra en \a figura 5. 6. a. Se empieza sumando los bits menos 
significativos {Aq + Bq) que dan lugar a una suma parcial {Sq) y a un arrastre (C/), siguiendo las 
leyes del semisumador vistas anteriormente. Este bit Cy se arrastra ahora a la segunda columna y 
se suma con los segundos bits, Ai y Bj, dando lugar a una nueva suma parcial Si y a un nuevo 
arrastre C2, que se suma a A2 y B2 y asi sucesivamente hasta llegar a la columna de los bits mas 
significativos iA„.i, B„.]) que junto con el pemiltimo arrastre, C„.j, producen el ultimo arrastre 
(C„) de forma que el resultado es 

S = A + B = C„ S„_jS„^2 ■■■Si So [5.3] 

Observando el procedimiento usado vemos que para su sintesis necesitariamos disponer de 
un modulo que sumara tres bits {At, Bf, Cj) y que produzca una suma local y un arrastre 
(Sj, Ci+j). A este circuito es al que hemos llamado "sumador completo" y satisface la tabla de 
verdad de lafigura 5.6.b. 

Las funciones correspondientes se obtienen por simplificacion de su expresion en terminos 
minimos que da lugar a la sintesis mediante dos semisumadores ilustrada en \afigura 5.6.c. 

Si = Ci {a iBi + Ai Bi )+ Ci (Ai Bi + Ai Bi ) [5.4] 

si llamamos (^4 ,5^ + ^, Bi ) = 4- 5, = D,- [5.5] 

{a i Bi +AiBi)= Ai e Bi = Di [5.6] 

obtenemos de forma mas compacta: 



Si = d Di + Ci Z),. = Ci © Di - Cj © Ai © Bi 

Analogamente, para el arrastre obtenemos: 

Ci^j = Q Ai 5, + C, :4 ,5,- + C,. ^,. 5,- + C, ^, 5, = 
= Q ^ , 5, + Q (^, © 5, ) + C,- Ai 5, = ^ ,5, + Q (^, © 5, ) 



[5.7] 



[5.8] 





(5K 


• • • 


(^ 


Tcyjv 




A = 


An-1 


V 


. ^ 


^^ \ 


AO 


B= 


Bn-1 


• • • 


B2 


Bl 


Bo 



© 



Sn-1 




(a) 



Ai 


Bi 


Ci 


Si 


Ci+1 























1 


1 








1 





1 








1 


1 





1 


1 








1 





1 





1 





1 


1 


1 








1 


1 


1 


1 


1 


1 



S-C„S„.} Sn-2 ••' S2S]So 



Ai 
Bi 
C 



Cs) S2 [C2) Si [Ci So 










-A®B 










HA, 


r 


HAj 










—.ff-Q (A e B) 
















-^ — -^^ 








> 


^ 






k 


--AB 




FA 





Si=Ci®Ai®Bi 



(b) 



(c) 



Si 



c 



i+1 



Figura 5.6. Sumador completo. (a) Algoritmo de suma de dos numeros de n bits. fi6> Sintesis a partir de 
semisumadores. (c) Tabla de verdad del sumador completo. 



Con el sumador completo hemos resuelto el problema de la suma para dos bits mas el 
acarreo. Sin embargo, la necesidad real es sumar dos mimeros de n bits, de acuerdo con el 
procedimiento ilustrado en la figura 5.6. Esto se puede hacer usando varios sumadores 
completes conectados en paralelo (figura 5.7) o usando un unico sumador completo en un 
circuit© que incluya un retardo y un lazo de realimentacion (conexion serie de la figura 5.11), 
para almacenar el acarreo generado en cada paso. 



C, 



n+l 



B„ 



i I 



B, 



n-l 



A 



n-l 



I t 




^n-1 



c. 



n-l 



B, 



1 t 



Bn 



I 1 




Cn 



Figura 5. 7. Extension del sumador completo de h figura 5.6.c a un sumador paralelo para palabras de 4 bits. 



En la solucion paralelo se utilizan n sumadores completes y todos los bits de los mimeros 
binaries a sumar entran simultaneamente al circuito. El acarreo de salida de cada sumador de bit 
local se conecta (en el caso mas sencillo) a la entrada de acarreo de la etapa siguiente. Esta 
forma de operacion exige que todos los bits de ambos mimeros se encuentren disponibles en el 
mismo instante y permanezcan alii hasta que se hayan producido todos los acarreos (venciendo 
el retardo de propagacion de la familia logica correspondiente) y la suma correcta se encuentre 
disponible y estable en los terminales de salida. 

Es facil comprender las limitaciones que introduce este retardo en la velocidad del 
sumador, ya que hay que esperar hasta que el acarreo atraviese los n modules desde la entrada 
(bit menos significative) hasta la salida. La solucion de este problema ha dado lugar a nuevos 
disenos de sumadores rapides, que resuelven de forma simultanea la contribucion a la suma de 
todos los acarreos locales. Veremos alguna de estas soluciones tras comentar el funcionamiento 



de los sumadores serie y los semirrestadores y restadores, con lo que completamos la descripcion 
de los circuitos aritmeticos en su primer nivel de complejidad. 

5.2.3. Semirrestadores 

Razonando de forma analoga a como hicimos con los sumadores podemos ahora proponer 
un circuito semirrestador para palabras de un bit. Si llamamos A al minuendo y 5 al sustraendo, 
lafigura 5.8 incluye de forma resumida la tabla de verdad, el circuito y las ecuaciones logicas 
correspondientes al bit de diferencia (D) y al acarrea (C). 




A 


B 


D 


c 

















1 


1 


1 


1 





1 





1 


1 









D^AB + AB = A®B 
C =AB 



Figura 5.8. Semirrestador 



5.2.4. Restadores Completos 

Si tenemos en cuenta no solo el minuendo (Ai) y el sustraendo (Bf) sino el arrastre 
potencial de una resta anterior (Q) podemos ahora generar la diferencia (Z),) y el nuevo arrastre 
para la etapa siguiente (Q+y), dando lugar a un circuito restador complete, como el que se 
ilustra en lafigura 5.9, donde hemos incluido tambien la tabla de verdad y las ecuaciones. 

Si ahora encadenamos los acarreos de n restadores completos de palabras de un bit 
obtenemos un restador paralelo para palabras de n bits. Lafigura 5.10, muestra el circuito 
resultante. 



Bi 
C: 







,,-A e B 








HSi 


r 


HSz 








X:i(A®B) 
















r 


-AB Y 


— 










S 





A 



c.^ 






^,- 


Bi 


Ci 


A 


Cm 























1 


1 


1 





1 





1 


1 





1 


1 





1 


1 








1 





1 





1 








1 


1 











1 


1 


1 


1 


1 



Figura 5.9. Restador. 





I 


J« 


A 


(« 




B, 


1-1 


J 


4„-; 




y 


' ^ 


r 




\ 


' ^ 


r 


+ 




+ 


Cn+l 


FS - 


< 

Cn 


FS - 


y 


r 




■\ 


r 


\ 




L 


\ 








L 


).-; 





-«-/ 



Bi A, 



Bo Ao 




Co=0 



Figura 5.10. Restador paralelo 



5.2.5. Sumador Serie 

Terminamos la primera fase en la complejidad de los circuitos sumadores viendo como 
podria realizarse un sumador serie en el que los distintos bits de las dos palabras a sumar, Ay B, 
entran al sumador como trenes de impulses (^„.;, An.2, ..., Aj, Aq) y {Bn-i, B„.2, ■••. Bj, Bq) de 
forma que hay un reloj que controla la entrada sincrona de estos dos trenes de impulses a un 
sumador complete. Ademas, los acarreos que va generando el sumador se almacenan 



transitoriamente en un registro que se encarga de retardarlos para presentarlos a la entrada 
cuando llegan los siguientes bits. Lafigura 5.11 muestra el sumador serie y las formas de onda 
para un ejemplo concreto de suma. Comparando este circuito con los anteriores que sumaban en 
paralelo se observa que este es mas lento, porque alii todos los bits se suman simultaneamente, 
salvo el problema de los arrastres, y aqui hay un retardo por bit y los numeros que se suman ban 
debido ser almacenados previamente en registros de desplazamiento. 



reloj 



Sumando A (n bits) 

A„., ... Ai Ao 











1 



1 



n 



Sumando B (n bits) 
B„-i ... Bj Bo 







1 



1 







1 



t n 




Suma (n bits) 

S„-i ... Si So 















A _oJT[oJl l|_ 
B _0jl l[ojT[_ 
S 1 1 |o 



c 



1111 



L 



Figura. 5.11. Esquema Cualitativo de un sumador serie para palabras de n bits. 

I 

5.2.6. Sumador Paralelo con Acarreo Adelantado 

Los sumadores con acarreo enlazado que hemos visto previamente tienen el problema de la 
baja velocidad debido a la forma de propagar el acarreo. Hay que esperar a que llegue el acarreo 
del pemiltimo bit al sumador completo del ultimo bit para dar por finalizada la suma. Para 
resolver ese problema se usa la tecnica de adelantar el acarreo (look-ahead-carry), base de las 
soluciones integradas en MSI tipo SN7483. Consideremos de nuevo el circuito del sumador 
completo de \& figura 5.6.c y las seiiales intermedias Py G que salen del primer semisumador. 



Las salidas del sumador se pueden expresar en terminos de P y G como 

Si=Pi@Ci y Ci^Gi+PiCi [5 JO] 

La senal interna, G„ se denomina "generacion de acarreo" y produce un estado de alta 
cuando A, = 5, ="1". La senal P, se denomina de "propagacion del acarreo" y es la que se 
compone con el acarreo de entrada (Q) para producir el de salida (Q+;). 

Escribamos ahora las funciones para la salida de arrastre de cada etapa en funcion de las 
senales P y G. 

Cj =Gq + Pq Cq 

C2=Gi+ P, Ci^Gj+ Pi{Go +PoCo)=Gj+PiGo+ Pi Po Co [5.11] 

C3 -G2+P2 C2 ^G2+P2 G1+P2 Pi Go +P2 Pi Po Co 

C4 ^Gi+Ps G2 +P3 P2 G1+P3 P2 Pi G0+P3 P2 Pi Po Co 

Como estas salidas de arrastre aparecen en forma de suma de productos, se pueden 
sintetizar mediante dos niveles y por consiguiente podemos tener sus valores disponibles con 
solo dos retardos. El circuito de lafigura 5.12 muestra la sintesis de estas senales de "acarreo 
adelantado" y su uso en la construccion de un sumador paralelo de cuatro bits anadiendo al 
acarreo adelantado la parte de circuito correspondiente a los semisumadores de los 4 bits. 
Observese que los cuatro bits de salida, So a S3, sufren el mismo retardo de propagacion, el 
correspondiente a los cuatro niveles de puertas logicas usados: 

a) Los semisumadores que generan las senales P y G. 

b) Las puertas AND que generan los terminos minimos del acarreo adelantado. 

c) Las puertas OR. 

d) Las XOR de salida 

El circuito de \afigura 5.12 conviene estudiarlo en dos etapas. Primero centrandose solo 
en las puertas incluidas en el rectangulo punteado que son las encargadas de la sintesis del 
acarreo adelantado. Despues, el circuito completo, incluyendo los semisumadores de entrada y 



los circuitos XOR de salida. Observese que el circuito posee como entradas (Aq-.-A^), (Bq-.-Bj) y 
Co y produce como salidas (Sq-.Ss) y C4, Este ultimo bit de arrastre permite la conexion modular 
para ampliar la capacidad de suma usando nuevos circuitos. Lafigura 5.13 repite el esquema del 
sumador de forma mas compacta, sin especificar los circuitos encargados de adelantar el acarreo. 



B, 




B, 



4 



B, 



A, 



Bn 



C, 




P2 






GAA 



Z>¥ 




P3 




C3 



Pi 




^ 



Pi 




Po 



a 





S2 





Figura 5.12. Sumador paralelo de 4 bits con logica de acarreo adelantado. 



El aumento de velocidad conseguido con el acarreo adelantado sera tanto mayor, cuanto 
mayor sea la longitud de las palabras a sumar. Sin embargo las restricciones de conectividad 
(fan-in y fan-out) de las distintas familias logicas ponen un limite a la maxima longitud de las 
palabras a sumar. Observese por ejemplo que Gj se usa en el calculo de C2, C3 y Q. Una 
solucion a este problema es sumar por bloques de forma que dentro de cada bloque se opera con 
acarreo adelantado y entre bloques se usa el acarreo enlazado que estudiamos anteriormente. 




B, A, 



Cn+l 



^O.n+l Po,n+l 



Generador de Acarreo Adelantado 



Bo Ao 




(GAAo) 



C; 



^ • o 

Co 



Figura 5.13. Version compacta del circuito de sximador paralelo con acarreo adelantado de \afigura 5.12. 

Hay otras formas mas avanzadas de obtener sumadores de alta velocidad que quedan fuera 
del alcance de este texto. 

5.3. Sumadores en Complemento a 1: Gestion del Problema del 
Rebose 



Hemos visto los circuitos sumadores en binario sin preocupamos del problema del rebose. 



Vamos a estudiar aqui las modificaciones necesarias en un circuito sumador que acepta numeros 
positives y negatives en representacion por complemento a 1 . Y lo vamos a hacer sobre palabras 
de solo dos bits para poder seguir el procedimiento en extenso, usando tablas de verdad. Despues 
podremos generalizar el algoritmo, viendo cuando hay que anadir un uno al resultado y cuando 
se produce error de rebose. 

Recordar del apartado inicial de este tema que: 

I. Para obtener los numeros negatives en C-1 hay que cambiar los "0" por "1" y los "1" por 
"0". 

II. Para sumar numeros positives y negatives en C-1, se suma en binario y se desprecia el bit 
de acarreo cuando este es cere. Cuando es uno se desprecia tambien, pero en este caso se 
le suma un uno al resultado previo. 

En este caso, come queremes encontrar un circuito que sume palabras de sole dos 
bits, {Al, Aq) y (fiy, Bq), solo tenemes 2 bits para representar los mimeres positives y negatives y 
el bit mas significative es el bit de signe. Por consiguiente, realmente solo nos queda 1 bit para 
representar las magnitudes. Asi los numeros que podemes representar en C-1 (con 2 bits) sen: 



1 

c-1 


00 


01 


10 


" 1 


Decimal 


+0 


+1 


-1 


-0 



Veames ahora algunes ejemplos antes de abordar la sintesis del circuito: 
> Sin problemas ni necesidad de sumar "1 " al resultado: 



00 

+ 01 

01 



(+0) 



01 
+ 10 

11 



(+1) 
(-1) 

(-0) 



> Con necesidad de sumar "1 " al resultado: 

10 (-1) 

+ 11 (-0) 

101—^ (+1) 



Observese que si nos quedamos con los dos ultimos bits (01), el resultado seria erroneo ya 
que 01 corresponde a +1 en C-1. For consiguiente hay que sumarle "1" al resultado Asi, 



+ 



10 
1 1 



1 1 
U+7 



10. 



(-1) 

(-0) 



(-1) 



> Con problemas de rebose: 



01 
+ 01 



(+1) 

_ (+1) 
010—^ (-1) 



Aqui hay error de rebose porque (+l)+(+l) es +2 y nos sale -1 (logicamente en C-1). Esto 
es debido a que nos hace falta un bit mas. Entonces, con tres bits, (010, +2 en decimal) seria 
correcta la suma. El bit de signo seria el (+) y el de magnitud los otros dos, 10 (+2). 

Asi pues, al diseiiar el circuito sumador en C-1 tenemos que detectar las configuraciones 
que generan este error de rebose. Para ello vamos a construir la tabla de verdad 
completa ifigura 5.14). 

Observese que el rebose solo se puede producir cuando los dos sumandos son del mismo 
signo (ambos positives o ambos negatives) pues cuando son de signo distinto el resultado 
siempre sera menor que uno de los operandos y podra representarse usando el mismo niimero de 
bits que hemos usado para los operandos. Para saber si se produce o no el rebose hay que 
comprobar el signo de la suma. Si es correcto no hay rebose. Si es incorrecto, si. 

Resumen de las distintas funciones que debe realizar el circuito. 

Sumar en binario puro todos los bits sin distinguir entre bit de signo y bits de magnitud. 

Darpor vdlido el resultado si el acarreo es cero y no hay rebose. 



I. 
II. 



III. Si el acarreo es 1 y no hay rebose, sumar un 1 al resultado de I y dar por vdlido este 
nuevo resultado. 



IV. Si hay rebose (porque el signo de la operacion no es correcto) dar serial de error. 
La ecuacion del rebose es: 



rebose = A\ B\ 5, + A-^ fij ^i 



[5.12] 



n° 
decimal 


B, 


Bo 


decimal 


Ai Ao 


C2 Si Ci 


So 


n° decimal 


(+0) 














(+0) 
(+1) 
(-1) 
(-0) 




1 

1 

1 1 




1 
1 




1 




(+0) 

(+1) 

(-1) 

(-0) 


(+1) 








1 
1 
1 

1 


(+0) 

(+1) 
(-1) 

(-0) 




oil 

1 

1 1 



1 1 

1 

1 1 

+ 





(+1) 

(-1) rebose 

(-0) 

(+1) 







(-1) 


1 
1 
1 

1 









(+0) 

(+1) 
(-1) 

(-0) 




1 

1 

1 1 


1 

1 

1 




(-1) 
(-0) 

{+1) rebose 

(-1) 


1 

+ 


. ■ 




1 




(-0) 


1 
1 

1 

1 


1 

1 

1 
1 


(+0) 

(+1) 
(-1) 

(-0) 




1 

1 

1 1 


1 

1 1 

+ 




(-0) 
(1) 
(-1) 
(-0) 



1 

+ 1 




1 
1 1 1 

+ 




1 





Figura 5.14. Descripcion en extenso de las distintas situaciones posibles en la suma por C-1 de dos palabras de 
2 bits. 



El circuito completo es el de la figura 5.15. 



Co 



(a) 



Ao Bo 

T 



A, B, 



FA 



Soo 



-10 



FA 



i 



Sio 



-20 



HA 



Ci 



HA 



Suma 1 



V U 



Detector de 
rebose 



rebose 



C2 



A ,B ,S 



(b) 



r 



V 



fe 




Detector de rebose 



P> 



rebose 



Figura 5.15. Suma por C-I. (a) Esquema del circuito a partir de sumadores y semisumadores. (b) Circuito 
detector del rebose. 



5.4. COMPARADORES 



La operacion logica de comparacion es esencial en todo el calculo digital. Esta en la base 



de la ramificacion condicional y aparece en funciones de biisqueda e identificacion selectiva de 
areas de datos, frecuente en editores, ensambladores y compiladores. 

Un comparador de dos palabras de n bits {A y B) es un circuito que determina cual de 
estas palabras es mayor, cual es menor y cuando son iguales. Tiene que producir entonces tres 
salidas: 



A>B, A=B, A<B 



La base para la sintesis de comparadores es el circuito "coincidencia" que solo esta activo 
cuando ambos bits son iguales (A = B ="0", A = B = "1"). Es el complementario del OR- 
exclusivo ( ^ = 5 = 7, A^B = 1). 



E = AB + AB = 



\] si A = B 
\0 si A^B 



[5.13] 



La condicion ^ > 5 se detecta a partir de la funcion logica C = AB = 1 , ya que si es A 
mayor que B, entonces A=] y B=0, y por consiguiente, C=l. For otro lado si A=B 6 A es menor 
que B (A=0, B=l), entonces, C=0. De forma analoga, la condicion A<B, se obtiene a partir de la 

funcion D = A-B = 1 . La figura 5.16 muestra el circuito comparador correspondiente a un bit 
que genera las salidas E, C y D. 




D=AB 



d> A<B 



E^A B+A B 



^A^B 



C^AB 



=> A>B 



Figura 5.16. Circuito comparador de dos "palabras" de un bit. 



Para ampliar esta comparacion a palabras de n bits necesitamos pasar las condiciones de 
igualdad o desigualdad de un bit a las condiciones de igualdad o desigualdad de toda la palabra 
que, evidentemente, son funciones logicas de los n bits. Asi, por ejemplo, el circuito de 
\afigura 5.77 muestra estas funciones para un comparador de palabras de 4 bits. 




^ 'n >B 'n 



^ n =B n L 



^n =Bn 



Figura 5.1 7. Extension del circuito comparador a palabras de cuatro bits. 



SiA -B tendra que ser: ^5=53, A 2=82, Aj=Bjy Ao=Bo y, por consiguiente, la condicion 
de igualdad sera: 



E = E,-E,-E;-Eg =1 



[5.14] 



Veamos ahora las situaciones de desigualdad. Dentro de la desigualdad (E = l) tenemos 
dos situaciones. La primera es que A sea mayor que B (A>B) y la segunda, que se obtiene por 
exclusion es que A sea menor que B (A<B). 



Para que se cumpla la condicion A>B pueden ocurrir dos de las siguientes situaciones: 

6 Aj = B^ y A2 > B2 ^> EJA2B2 

6 A3 ^ B^ y A2 = B2 y Aj > Bj =^ E3E2A1B1 

o A3 = B3 y A2 = B2 y Aj = Bj y Aq > Bq => E3E2EJA0B0 p j^j 

Finalmente, por exclusion, si E = 1 y C{a > b) = ,se tiene que cumplir que: A < B. 

Existen soluciones integradas MSI a los circuitos comparadores que van desde la SN7485 
(comparador de cuatro bits que se puede conectar en cascada) hasta circuitos tipo SN74AS866A, 
capaz de comparar aritmetica o logicamente palabras de 8 bits (en representacion binaria en 
complemento a dos), con posibilidad de expansion y salida en colector abierto. La figura 5.18 
muestra el simbolo. 

El simbolo logico que se utiliza para describir el circuito esta de acuerdo con las normas 
ANSI/IEEE. En el apendice B se resume esta forma de representacion porque en el manejo de 
entomos software para la captacion de esquemas, la simulacion y el diseno logico son estos 
simbolos los que se usan, en general, para representar a los circuitos integrados. 

Volviendo ahora a la. figura 5.18 conviene resaltar que tanto las entradas, P y Q, como las 
salidas {P>Q, P<Q y P=Q) estan equipadas con circuitos biestables que permiten retener en una 
memoria local el resultado de la comparacion durante un cierto tiempo. Posee ademas circuitos 
de facilitacion {^'enable'", PLE, QLE, OLE) que mejoran el comportamiento en aquellas 
aplicaciones que exigen la conexion en cascada de varios circuitos comparadores. 

Cada salida del comparador muestra su estado cuando la senal de facilitacion 
correspondiente esta en alta. El registro Q puede ponerse a cero para acelerar el proceso de 
comparacion de palabras P con cero en aquellas aplicaciones que solo exijan saber si una 
determinada palabra es igual o distinta de cero. 

El circuito SN74AS866A admite una.programacion minima para seleccionar el tipo de 
funcion. La figura 5.19 muestra la tabla de seleccion de funcion incluyendo la comparacion 
logica y la aritmetica y en cada uno de estos casos cuales son las entradas y las salidas 
correspondientes. Los simbolos que aparecen en la tabla son todos de interpretacion inmediata 



salvo el AG ("Arithmetically Greater than") que corresponde al "mayor que" en el sentido 
aritmetico del termino. 



UA 

PLE 

PO 

PI 

P2 

P3 

P4 

P5 

P6 

P7 

P>Q 

P<Q 

OLE 

CLRQ 

OLE 

QO 
Ql 
Q2 
Q3 
Q4 
Q5 
Q6 

Q7 



(2) 




M(LOG 
M(ARI' 


Id 


COMP 








r^ 


ra. 2s COMP) 




(26) 


CI 

1 r 












(18) 


ID 1=0 


0^ 

7 


^P 




(19) 








(20) 








(21) 








(22) 








(23) 








(24) 








(25) 








(4) 


"J 






> 


D-^r^ 


3D 
3D 
3D O 


(16) 


(3) 


< P<Q 
C3 ^-'^ 


(17) 


(15) 


(13) 


(27) 


IX 




' V 




R 

C2 

n r 








(1) 






(12) 




2D 1=0 


0^ 






(11) 








(10) 








(9) 








(8) 


w 












(7) 








(6) 








(5) 












u 









P>Q 
P<Q 
P=Q 



FiguraS.lS. Circuito comparador de 8 bits, SN74AS866A. Simbolo logico de acuerdo con las normas 
ANSI/IEEE. 



La funcion de comparacion se particulariza a veces a soluciones programables para 
comparadores de identidad, como la SN74ALS528 que permite resolver de forma eficiente un 
problema de comparacion cuando uno de los mimeros es fijo. En otras ocasiones, la funcion de 



comparacion se extiende a funcion de generacion y deteccion de paridad, como en el caso de los 
circuitos SN74ALS280 y 286. El primero es un generador/detector de paridad para canales con 
nueve lineas de datos. El segundo, 286, realiza tambien la funcion de generacion/deteccion de 
paridad para palabras de 9 bits pero anade la facilidad de conexion de varios circuitos en cascada 
para conseguir comparar palabras de mas de 9 bits. A su vez, facilita la conexion directa a los 
canales de datos a traves de circuitos amplificadores/adaptadores de impedancias. 





TABLA DE FUNCION DEL COMPARADOR 








Datos 












Comparacion 


l/a 


de 


ENTRADAS 


SALIDAS 










Entrada 


















P0-P7, Q0-Q7 


P>Q 


P<Q 


P>Q 


P<Q 


P=Q 




Logica 


H 


P>Q 


X 


X 


H 


L 


L 




Logica 


H 


P<Q 


X 


X 


L 


H 


L 






Logica 


H 


P=Q 


L 


. L 


L 


L 


H 






Logica 


H 


P=Q 


L 


H 


L 


H 


L 






Logica 


H 


P=Q 


H 


L 


H 


L 


L 






Logica 


H 


P=Q 


H 


H 


H 


H 


L 






Aritmetica 


L 


PAGQ 


X 


X 


H 


L 


L 






Aritmetica 


L 


QAGP 


X 


X L 


H 


L 






Aritmetica 


L 


P=Q 


L 


L L 


L 


H 






Aritmetica 


L 


P=Q 


L 


H L 


H 


L 






Aritmetica 


L 


P=Q 


H 


L 


H 


L 


L 






Aritmetica 


L 


P=Q 


H 


H 


H 


H 


L 









Figura 5.19. Tabla de seleccion de funcion en el comparador aritmetico-logico 74866. Con LJ A se selecciona 
el tipo de comparacion (logica o aritmetica). 



Los circuitos generadores/detectores de paridad se activan cuando la suma de los unos de 
las palabras es par o bien cuando la suma de los unos es impar. Su uso mas general es la 
deteccion de errores en transmision de datos y en funciones de bifurcacion. La figura 5.20 
muestra la posicion relativa de estos circuitos en un esquema general de transmision y recepcion 
de informacion. 



Partimos de un generador de palabras de cuatro bits que puede ser un generador en sentido 
estricto o bien cualquier fuente de informacion como por ejemplo un registro de los que 
estudiaremos mas adelante. La palabra se introduce en un canal y, a la vez, se manda por 
separado un bit de paridad. Si, como consecuencia del ruido, existiera una confusion en algiin bit 
es muy poco probable que exista a la vez otro error en otro bit que cancele el cambio de paridad. 
Por consiguiente, en recepcion existe un nuevo circuito comprobador de paridad que se activa 
siempre que la paridad de la palabra emitida no coincide con la paridad de la palabra recibida. 



Entrada 



GENERADOR 

de 

PALABRAS 

de 4 BITS 



Ruido 



Salida 



Linea de Transmision 



A 
B 
C 
D 

P' 



RECEPTOR 



Bit de Paridad 



Pi 



A 
B 
C 
D 

P' 



Generador 
de Paridad 



Comprobador 
de Paridad 



Figura 5.20. Circuitos detectores/generadores de paridad. Ilustracion de su uso en transmision. 



Veamos ahora como se sintetizan los circuitos detectores de paridad. Para ello recordemos 
que la salida del OR exclusivo [AB + lm) solo esta en alta si hay un bit de entrada en alta (pero 
no ambos). Es decir, ante (0,1) y (1,0) da 1 (impar), pero ante (0,0) y (1,1), da (par). Y este 
procedimiento es iterativo. Si con un XOR detectamos la no paridad de {A, B) y con otro la de 
(C, D), con un tercero detectaremos la correspondiente a los cuatro bits. A, B, Cy D. 1.2^ figura 



5.21 muestra esta generalizacion para 4 bits. Como en Z detectamos la no paridad de A, B, C y D 
y ha de enlazar con la paridad de otro modulo (/")> tendremos que aiiadir otra puerta XOR, para 
obtener en P la paridad de A, B, C, D y P'. 



La salida en el punto Z de lafigura 5.21 es 

z = {a®b)®{c®d) 



[5.16] 



Asi, si el numero de bits que hay en alta en la palabra es (1 6 3), entonces Z=l (impar). En 
cambio, si el numero de bits en alta es (0, 2 6 4), entonces Z=0 (par). Por otra parte P'=l 
significa que la palabra anterior es par y P'=0 que es impar. Por tanto, 

P = Z©P'=peB)©(C ©£)))©/" pjjj 

Es decir, P=l (par) si P'=0 (impar) y Z=l (impar) y si P'=l (par) y Z=0 (par). En cambio, 
P=0 (impar) para P'=0 y Z=0, y para P'=i y Z=i. 




Figura 5.21. Sintesis de un detector de paridad para 4 bits. 



5.5. Unidades Aritmetico-Logicas (ALU'S) 

El circuito MSI mas completo dentro del grupo de operadores aritmetico-logicos es la 
ALU (SN74181) {figura 5.22). Existen soluciones integradas en tecnologia TTL, ECL y CMOS 
y contiene la sintesis de las funciones logicas y aritmeticas mas usadas junto con 4 bits para la 
seleccion de funcion. La tabla de verdad de la figura 5.23 muestra, para logica positiva, las 
posibles funciones del circuito 181 y el valor de las variables de control que las seleccionan. 



AS181B 



AS 182 



(6) 



(5) 



(4) 



(3) 



(8) 



(7) 



Cn 



AO 
BO 
Al 
Bl 
A2 
B2 
A3 
B3 



ALU 



VM 



31 



4 > 
CI 



(0...15) CP 
(0...15) CG 
6(P=Q) O 
(0...15) CO 



(15) 



(17) 



(14) 



-A=B 
(16) ^,, 



K^J l\ 


P 
Q 


(1) 




(1) ^ 


^ (9) 


(22)^ 




P 
Q 


(2) 




(23)^ 


^ (10) 


(21)r. 




P 
Q 


(4) 




(20V 


\ (11) 


(19)^ 




p 
Q 


(8) 




(18)^. 


^ (13) 







FO 



Fl 



F2 



F3 



Cn 
XO 



(1) 

T5r 



YO 



(2) 



XI 

Yl 
X2 

Y2 
X3 

Y3 
X4 

Y4 
X5 

Y5 
X6 

Y6 
X7 

Y7 



(5) 



1\ 



_[:i. 





|\ 


(4) 


|\ 


(8) 


(\ 


(7) 


(\ 


(10) 


|\ 


(9) 


I\ 


(14) 


I\ 


(13) 


f\ 


(16) 


|\ 


(15) 


I\ 


(19) 


|\ 


(18) 


|\ 


(21) 


|\ 


(20) 


|\ 




Cn+8 



Cn+16 



Cn+24 



Cn+32 



Figura5.22. ALU, SN74AS181A. Simbolo logico y conexion con el circuito AS882 (generador de acarreo 
adelantado) para aplicaciones de mas bits que necesiten varias ALU's en cascada. 

Esta unidad aritmetico-logica acepta como operandos dos palabras de 4 bits y un acarreo, 
Cn^ para facilitar la conexion en cascada, en el caso de que necesitemos operar sobre palabras de 
mas de 4 bits. 

La primera seleccion de funcion se realiza a traves de la variable de control M que permite 
elegir entre dos modos de funcionamiento: 

M=\ =^ Funciones logicas. 

M=0 => Operaciones aritmeticas. 

Tras la seleccion del modo logico opera la segunda columna de la tabla de lafigura 5.22. 
Es decir, estando M en alta los cuatro bits de seleccion de funcion van a activar una de las 16 
funciones logicas de la tabla en cuestion. 

Cuando M esta en baja la ALU se configura como un procesador aritmetico en el que a su 



vez podemos decidir si se toma en cuenta o no el acarreo. Cuando no queremos considerar el 
arrastre (c„ enalta), opera la tercera columna de la tabla. Finalmente, con arrastre opera la 
ultima columna. 



SELECCION 


DATO ACTIVO ENALTA | 


S3 s 


I s 


1 So 


Funciones 


M=L Operaciones Aritmeticas | 


F„=H 


c„=L 








Logicas 


(sin acarreo) 


(con acarreo) 


L L 
L L 


L 
L 


L 
H 


F = A 


F = A 
F = A+B 


F = APL\JS] 

F = (A +B) PLUS 1 


F = A+B 


L L 


H 


L 


F = A'B 


F = A+B 


F=(A+E) PLUS 7 


L L 


H 


H 


F=0 


F = MINUS 1 (comp. a 2) 


F = Cero 


L H 


L 


L 


F = AB 


F = A PLUS AB 


F = A PLUS AB PLUS 7 


L H 


L 


H 


F = B 


F = (A +B) PLUS AB 


F = f^ +5; PLUS AB PLUS 7 


L H 


H 


L 


F = A®B 


F= A MINUS B MINUS 1 


f=^ MINUS B 


L H 


H 


H 


F = AB 


F = AE' MINUS 1 


F^AB 


H L 
H L 


L 
L 


L 
H 


F = A+B 


F=A PLUS AB 
F = A PLUS B 


F = A PLUS AB PLUS 7 
F = ^ PLUS B PLUS 7 


F = A®B 


H L 


H 


L 


F = B 


F = (A+B) PLUS AB 


F = (C4 +S) PLUS AB PLUS 7 


H L 


H 


H 


F = AB 


F = AB MINUS 1 


/^ = yi5 


H H 


L 


L 


F=l 


F = A PLUS A 


F = A PLUS y4 PLUS 7 


H H 


L 


H 


F = A+B' 


F = (A+B) PLUS A 


F = (A+B) PLUS .4 PLUS 7 


H H 


H 


L 


F = A+B 


F = (A+B) PLUS A 


F = (A+ff) PLUS v4 PLUS 7 


H H 


H 


H 


F = A 


F = A MINUS 7 


F = A 



Figura 5.23. Tabla de verdad para logica positiva de la ALU 1 8 L 



Sea cual fuere el modo seleccionado y el valor de la variable de arrastre, las salidas estan 
disponibles en F = F3F2F1F0 y en el acarreo Cn+4- Asi por ejemplo, si M=0 y S=1001 ^ 
F=A+B, teniendo en cuenta el arrastre de etapas previas, C„. En la tabla de verdad se utilizan las 



palahras plus y minus para adicion y resta aritmetica, + para OR y © para OR exclusivo. 

Cuando la ALU se usa en adicion y la velocidad es importante podemos desear un puente 
para el arrastre (circuito tipo 10179). Pensando en esto la ALU tiene dos terminales P y G. Una 
entrada de arrastre que vaya a propagarse a traves de la ALU aparecera en P. En cambio, un 
arrastre de salida generado dentro de la ALU aparecera en G. 

Este tipo de circuito puede considerarse como un "precursor" de la logica programable en 
el sentido que la estudiaremos en el capitulo 7 ya que incluye las puertas logicas necesarias para 
realizar varias funciones aritmeticas y logicas, junto con los circuitos de control necesarios para 
seleccionar las conexiones especificas para cada una de ellas. Las funciones que pueden realizar 
son del siguiente tipo: 

Aritmeticas: Suma, resta, comparacion, desplazamiento de una posicion del 
operando, etc... 

Logicas: OR exclusivo, comparacion, AND, NAND, OR, NOR y 10 funciones mas. 

Cuando se realizan funciones aritmeticas, deben facilitarse los arrastres internes, 
aplicando un "0" a la entrada de control de modo (M). Los terminales 15 y 17 se usan para 
generacion simultanea de arrastre para aumentar la rapidez de operacion. Entonces, la ALU 
debe usarse junto con el circuito SN74182, (generador de arrastre hacia adelante), del que hemos 
hablado anteriormente. Si no es importante la alta velocidad pueden usarse las entradas (C„) y 
salidas (Cn+4) de arrastre. El circuito 74181 puede actuar en logica positiva (activa en alta) o en 
logica negativa (activa en baja) de acuerdo con la forma de usar sus terminales. La tabla que 
especifica la funcion realizada por la ALU y mostrada en \afigura 5.21 corresponde al criterio 
de logica positiva (activa en alta). 

La sustraccion se realiza por suma en complemento a 1, generandose intemamente el 
complemento a 1 del sustraendo. La salida resultante es: v4-S-l, la cual requiere un "acarreo 
forzado" para proporcionar A-B. 

La ALU tambien puede actuar como comparador. La salida A=B es decodificada 
intemamente a partir de las funciones de salida Fq, Fj, F2 F^^ de forma que cuando se aplican 
dos palabras de igual magnitud a las palabras A y B \a comparacion pasa a alta para indicar que 
son iguales. 



La ALU tambien podria estar en modo de sustraccion con C„=7 cuando se esta realizando 
la comparacion descrita anteriormente. La salida A=B es colector abierto de forma que admite la 
funcion AND cableada para ampliar la comparacion a palabras de mas de 4 bits. La salida de 
arrastre {C„+4) puede usarse tambien para obtener informacion sobre magnitudes relativas. De 
nuevo, la ALU podria situarse en el modo de sustraccion cambiando los bits que controlan la 
seleccion de la funcion a la configuracion 0110. 

Estos circuitos estan disenados para incorporar ademas 16 funciones logicas de dos 
variables sin el uso de ningun circuito extemo adicional. En este caso se pone M^l, lo que 
inhibe el arrastre intemo y se usan las entradas de seleccion, SoSjS2S3^ para fijar la funcion 
logica. 



Ejercicio: Al estudiar las distintas funciones aritmeticas y logicas que realiza la ALU, algunos 

alumnos se preguntan la diferencia que existen entre ciertas funciones comopor ejemplo, entre: 

(1) F= A+B considerada como operacion aritmetica 

(2) F= A plus B, aritmetica 

(3) F= A + B , como operacion logica 

Pues bien, el signo +, tanto en la ALU seleccionada para realizar operacion logica como para 
realizar operacion aritmetica, es decir en los casos (1) y (3) significa la operacion OR entre la 
palabra Ay laB, mientras que la funcion plus es la suma aritmetica. 

Solucion 

La figura 5.24 muestra el esquema y los resultados de la simulacion. Veamos el primer 
caso. Es decir, F=A+B aritmetico. En este caso, deberemos poner las seilales de control en los 
siguientes valores: 



S3 S2 SI SO 


M c„ 


L L L H 


L H 



[B]> 



CLK_n-r> - 



CLk1 AO 



|CLK_n_f> 



CLk2 A1 



|CLK_n_r > 



CLk3 BO 



CLK_n_r > 



CLk4 B1 



[L>- 




FO 
F1 
F2 



S3 
S2 
S1 
SO 
H 
CH 
B1 
A1 
BO 
AO 
F2 
F1 
FO 



8s 



2us 



itus 



6us 



Bus 



lOus 



Time 



Figura 5.24. Esquema de conexion en el simulador de la ALU SN74181 y resultado correspondiente en forma 
de cronograma que muestra la evolucion temporal de las entradas y salidas de la ALU manteniendo 
constantes los valores de las senales de control que seleccionan la operacion. 



Para simplificar y facilitar el estudio hemos simplificado la ALU dejandola operativa para 
palabras de 2 bits en vez de usar los 4 bits que posee. Para ello los bits mas significativos los 
hemos de poner a "0". Ademas, para simular de forma dinamica las entradas y poder obtener la 
tabla de verdad a partir del diagrama de tiempos, hemos usado como entradas cuatro relojes que 
nos generan pulsos uno el doble del anterior. Es decir, para la entrada AO usamos un reloj digital 
de onda cuadrada y lo definimos para que la seiial este 0.5/is en alta y 0.5^ en baja. Para Al e\ 
periodo del reloj debe ser el doble, es decir lo definimos para que este 1/js en alta y 7/zs en baja. 
Para BO sera el doble de ^7 y para Bl el doble de BO. 

A partir de este diagrama de tiempos podemos construir la tabla del funcionamiento de la 
ALU para esta configuracion, tal como se muestra en la figura 5.25 y a continuacion calculamos 
las expresiones de F2, Fl y FO. Como podemos observar, F2 = 0, F1=A1 + BI y FO = AO + BO 
luego la funcion resultante es la funcion OR entre las dos palabras Ay B. Los apartados b y c de 
este ejercicio se resuelven de forma analoga. 



Bl 


Al 


BO 


AO 


F2 


Fl 


FO 








































1 
















1 


















1 


1 








1 











1 








1 










1 







1 








1 


1 







1 







1 


1 
















1 


















1 


1 















1 

















1 


1 







1 








1 


1 







1 







1 


1 






1 








1 


1 






1 







1 


1 



BlAl 








BOAO 


00 


01 


11 10 


00 
01 


1 





i 


1 


1 


1 1 


11 


1 


1 


1 1 


10 


1 


1 


1 1 


FO=AOBd 


F0= 


-AO+BO 



Bl Al 






BOAO 


00 01 1 


I 10 


00 


I'o" 


1 1 


1 


01 


i 


1 1 


1 


11 


i 


1 1 


1 


10 


i 0, 


1 1 


1 


F1=A1+B1 





Figura 5.25. Obtencion de las expresiones de FO, Fl y F2. Observese que efectivamente, la funcion resultante 
es A OR B. 



La autentica potencia de este tipo de circuitos aritmetico-logicos se pone de manifiesto 
cuando se enlaza con otros circuitos de decodificacion de instrucciones y de control de su 
ejecucion de forma que es posible realizar cualquier secuencia de estas operaciones aritmetico- 
logicas, usando ademas los resultados de una etapa del proceso para decidir la operacion a 
realizar en la etapa siguiente. Si afiadimos la posibilidad de usar memorias RAM, tenemos la 
estructura basica de un sistema de calculo digital, cuyo nucleo es la ALU. A ella se Uevan desde 
la entrada o desde memoria los operandos. De ella se devuelven, a la salida o a otras posiciones 
de memoria, los resultados de la operacion aritmetica o logica realizada. Finalmente, el 
"programa" es la secuencia de palabras de control que selecciona en cada momento la operacion 
de la ALU, junto con el resto de los procesos de transferencia de datos, lectura o escritura en 
memoria y conexion con el exterior. 

Junto a las funciones aritmetico-logicas consideradas hasta este momento (sumadores, 
restadores, comparadores, generadores-detectores de paridad y ALU's) existen otras funciones de 
procesado de informacion mas especificas tales como los acumuladores (LS681), los 
procesadores "bit-slice" (AS888) y los llamados de aritmetica de computacion avanzada, 
relacionados con los procesos de multiplicacion y division binarias (MC 10183, LS261). Es 
obvio que estos procesos pueden realizarse de forma algoritmica, via programacion, sin embargo, 
existen aplicaciones tales como la comunicacion digital que exigen tan alta velocidad que solo es 
posible ofrecerla mediante multiplicadores paralelo (SN74285, 74S558) sintetizados a nivel de 
circuito logico de proposito especial. Su estudio, sin embargo, queda fuera del alcance de este 
cur so. 

Tambien quedan fuera del proposito de este curso los microprocesadores y todos los 
circuitos cuyo nivel de complejidad los hace merecedores de asignaturas especificas o de 
capitulos especiales en cursos sobre arquitectura de ordenadores 6 procesadores digitales de 
senal, por ejemplo. 

En este tema de introduccion al analisis y sintesis de funciones en logica combinacional 
para operaciones aritmetico-logicas, al igual que en el resto de los temas dedicados al estudio de 
funciones combinacionales o secuenciales adecuadas al nivel de integracion en media escala 
(MSI), el proposito pedagogico basico es ilustrar el tipo de funcion y el uso que se hace de los 
operadores del nivel inferior (puertas logicas AND, OR, NAND 6 NOR) para obtener funciones 



especificas. No es sin embargo especialmente importante el ser exhaustive describiendo todas y 
cada una de las funciones del nivel superior. Si el alumno ha adquirido las habilidades para el 
analisis y sintesis de sumadores con arrastre adelantado, por ejemplo, no tendra dificultad en 
abordar el analisis o sintesis de otras funciones a partir de su circuito equivalente o de la 
descripcion clara, completa, precisa e inequivoca de la funcion que se quiere sintetizar. 

5.6. Problemas 



E.5.1. 



E.5.2 



(•) 



Las figuras 5.5 y 5.6 muestran los circuitos semisumador y sumador completo realizados 
conpuertas ANDy OR. Obtener las versiones equivalentes usando solo puertas NAND. 

El mismo desarrollo propuesto para explicar los circuitos sumadores completes a partir de 
semisumadores puede realizarse para el estudio de los circuitos restadores. Vamos a 
comprobarlo en este ejercicio. Las reglas para restar dos bits (A-B) produciendo un bit de 
diferencia (D) y un acarreo (C) son las de la tabla adjunta. 

a) ^Cuales son las funciones logicas del semirestador que genera CyDa partir deA y B?. 

b) I Como podemos obtener un restador completo, (FS) a partir de dos semirestadores ?. 

c) ^Como deben de conectarse distintos FSpara obtener un restador paralelo de cuatro bits?. 

Recuerdese que cuando se transfiere el acarreo de una etapa a la siguiente, se resta 
el sustraendo del minuendo, disminuyendo a continuacion el resultado en L 



A 


B 


c 


D 

















1 


1 


1 


1 








1 


1 


1 









Este problema ha sido incluido en el material teorico del tema en esta segunda edicion. Dejamos aqui tambien 
el enunciado porque hay un texto de problemas asociado a los enunciados de la primera edicion. 



E.5.3. iComo podrias realizar un circuito que fuera a la vez sumador y restador, tipo 
MC10180?. Recordemos que una resta es una suma en la que se ha cambiado el 
signo del sustraendo (complemento a 2). Recordemos que en la representacion par 
complemento a 2 los numeros positivos se representan colocando un cero a la 
izquierda de los bits que representan la magnitud y los numeros negatives se obtiene 
a partir de los positivos negando todos los bits y sumando 1 al resultado. Este 
proceso de negar todos los bits y sumar un 1 al resultado se llama obtencion del 
complemento a 2 del numero. Esta representacion de los numeros negatives es 
ventajosa a la hora de realizar operaciones aritmeticas. La suma de numeros en 
complemento a 2 se obtiene a partir de una misma operacion de suma sobre todos 
los bits de los operando. Solo puede haber rebose ("overflow"), cuando los numeros 
son ambos positivos o ambos negatives y esta situacion se detecta comprobando el 
signo del resultado. Si es correcto, no hay rebose. 

E.5.4. En lasfiguras 5.6 y 5.17 hemos visto la comparacion de dos palabras de un bit y la 
extension a cuatro bits. Supongamos ahora que disponemos de cinco comparadores 
de cuatro bits (Aq-.-As), (Bq-Bs). ^Como deberiamos conectarlos para obtener un 
comparador para palabras de 16 bits?. 

E.5.5. El circuito de lafigura (SNALS280) es un generador/detector de paridad para nueve 
lineas de datos. Analizar lasfunciones logicas para las tres vias (A, B, C), (D, E, F) 
y (G, H, I) y obtener la ecuacion que define la paridad (terminal 5 en alta y terminal 
6 en baja. Esta respuesta debe darse para 0, 2, 4, 6 6 8 lineas en alta. Probar por 
ejemplo para dos lineas. Inversamente, para que el terminal 6 este en alta, el numero 
de lineas de datos en alta deben ser, 1, 3, 5, 7 6 9. Probar, por ejemplo, para una 
linea en alta. 




E.5.6. En lafigura 5.23 se muestra la tabla de verdad de la ALU (ASl 81) junto con el valor 
de las variables de control (S3, S2, SI y SO) y la seleccion de modo. Se dispone de 
tres ALU's y de cuantas puertas NOR se consideren necesarias. Disenar a partir de 
estas componentes los siguientes circuitos: 



») 



'1. 



i 



Control 


Salida 


X 


X 

2 


Y 





1 
1 




1 



1 


A 

A+B 

AB 

minus 1 (comp. a 2) 



-^ 



b) Considerando ahora cuatro palabras de cuatro bits (A0...A3; B0...B3; C0...C3; 
D0...D3) como datos de entrada y las mismas dos variables de control, (XI, X2), 
disenar un circuito que realice la siguientefuncion: 



:± 



^ (4 bits) ^ 



B (4b''s)> 



C (4 bits). 



D (4 bits),^ 



Control 




1 

1 



Salida 



(Aiphis B) OR (C+D) 

(A 5ininus i; AND (C plus D) 

(A BJphis fCminus^l ) 

(A ®B) nanus (CD) 



c) Supongamos que podemos disponer de una secuencia de control en la que las dos 
variables, (XI y X2) recorren de forma ciclica sus cuatro valores posibles (00, 01, 
10, 11) (veremos mas adelante que esta secuencia se consigue de forma muy 
sencilla mediante un contador binario), ^que forma de onda se obtiene a la salida 
(FO, Fl, F2, F3) del circuito de lafigura? 



S=0 



S=l S^^x^ 



AO 
Al 
A2 

^ ALU 

Bl 
B2 
B3 



M=X, 



S = 



3 -"l 



C„=l 



->F„ 



->F^ 



->F, 



x/t) 



1 1 



^^^^ 



Preparacion de la Evaluacion 



Recordemos que hemos descompuesto el contenido de este tema en 4 objetivos. Por 
consiguiente, la ayuda a la evaluacion tambien la vamos a descomponer de acuerdo con esos 
objetivos. 



Objetivos 



1 : Aritmetica Binaria 

2: Circuitos Sumadores y Restadores 

3: Circuitos Comparadores 

4: ALU's 



1. Aritmetica Binaria 

1.1. Describa las ventajas e inconvenientes de los distintos tipos de representacion de numeros 
negativos. 

1.2. Usar la tabla en la que aparecen las distintas representaciones (binario puro, S-M, C-1 y C-2) 
para resolver las siguientes cuestiones: 

a) Sumar en S-M los siguientes numeros: 

a.l) 1010+0101 
a.2) 1111+1101 

^Que problema ha encontrado?. ^Cudl es el mayor numero decimal que puede representarse 
usando palabras de 4 bits?. 

b) Realice las operaciones de suma y resta de dos palabras de 4 bits en las tres 
representaciones (S-M, C-1 y C-2). Comente los resultados. 

b.l) 4 + 3 
b.2) -4 + 5 



b.3) 
b.4) 



-4-5 
4-5 



1.3. Disenar el circuito combinacional necesario para hacer automdticamente la conversion 
deS-MaC-2 



n'-S-M 

Xo — I 
Xi — I 
X2 1 



Convertidor de 
unn° de 3 bits 
representado 
en S-M a C-2 



ii°C-2 



■Zo 
■Zi 
■Z2 



1.4. Proponer un circuito combinacional que convierta representaciones de C-1 a C-2. 

2. Circuitos Sumadores y Restadores 

2.1. Recordando los posibles valores de la suma de dos digitos (0+0=0, 0+1=1+0=1, 1+1=10) y 
de tres digitos binaries (0+0+0=0, 0+0+1=1, ..., 1+1+1=11). iPodria describir con palabras 
lafuncion de acarreo (C) y lafuncion de la suma (S) de un semisumador y de un sumador? 

Solucion 

De la simple observacion de los valores anteriores es fdcil obtener las siguientes 
descripciones 

a) Semisumador'. La funcion suma es cero {S=0) cuando los dos bits son iguales (A=B=0 6 
A=B=1) y es uno {S=l) cuando los bits son diferentes [a = b). 

La funcion de acarreo es uno (C=7) cuando ambos bits estan en alta {A=B=1) 

For consiguiente, el bit de suma es el OR exclusive y el de acarreo el producto 
logico. 

b) Sumador: Cuando se considera el acarreo de la suma de bits anteriores, la funcion 
suma (6) es una funcion de tres variables. Esta en alta cuando el numero de bits de los 
operandos y el acarreo que estan en alta es impar (uno o tres). For tanto, la suma es el 
OR exclusive de las entradas y el acarreo de entrada. 



La funcion de acarreo (C) esta en alta cuando el niimero de bits en alta es par o bien los 
tres estan en alta. 

Dejamos para el alumno las descripciones equivalentes en el caso del restador 

2.2. Supongamos que ya sabemos disenar sumadores de un bit. Sin embargo, lo que necesitamos es 
saber sumar palabras de n bits a partir de n circuitos que sumen palabras de un bit. La forma 
mas sencilla de conseguir esto es conectar los n sumadores de 1 bit enlazados por los acarreos. 
Al primer sumador entran los bits menos significativos de ambas palabras (Ag, Bg) y al ultimo 
los mas significativos (A3, B3, para palabras de 4 bits). El primer acarreo, Cq, lo consideramos 
como el acarreo de entrada al circuito (Ci^). Los siguientes acarreos son los acarreos 
intermedios y el de los bits mas significativos (€„+]) lo consideramos como acarreo de salida 
del circuito (Cout)- 

a) ^Podria dibujar el circuito correspondiente a un sumador de este tipo para palabras de 4 
bits?. 

b) Supongamos ahora que este sumador de 4 bits lo convertimos en un modulo de diseno. 
^Como conectaria dos de estos modulos para obtener un sumador de 8 bits?. 

c) ^Encuentra alguna formula recursiva para pasar de sumadores paralelo con acarreo 
enlazado de n bits a sumadores de kn bits (K = 2, 3, 4, ...)?. Dibujela. 

2.3. Analizar el circuito de lafigura. ^Que funcion realiza cuando la entrada S/R esta en alta?. ^Y 
cuando esta en baja? 



A^A^A^Ag 



-C 



^3 ^2 




Sumador paralelo de 
acarreo enlazado 



C 



TTTT 

^3 ^2 ^1 ^0 



S/R 



2.4. ^Como podriamos conectar dos sumadores de acarreo adelantado de 4 bits para conseguir uno 
de 8 bits?. 

2.5. Disenar un sumador/restador paralelo de 2 palabras de 4 bits en C-1 con propagacion del 
acarreo en serie que detecte el rebose. 

2.6. Disenar un sumador/restador paralelo de 2 palabras de 4 bits en C-2 con propagacion del 
acarreo en serie que detecte el rebose. 

2.7. Estime el retardo de un sumador de cuatro bits con acarreo adelantado. Recuerde que para 
evaluar el retardo en la parte del circuito que genera el acarreo adelantado se puede usar, par 
ejemplo, el circuito figura 5.12. Se recomienda para el cdlculo utilizar la situacion 
correspondiente al "peor de los casos", (1111+0001) donde cada bit de suma genera un 
acarreo hacia el siguiente. 

2.8. En la figura 5.15 del texto se ha presentado la solucion a la suma por C-1 incluyendo el 
circuito detector de rebose. Repite ahora el procedimiento equivalente para aritmetica en 
Complemento a 2. Es decir, 

a ) describa en extenso (tablas de verdad) el procedimiento de sumar dos numeros positivos y 
negativos en C-2. 

b) Disene el circuito sumador correspondiente distinguiendo las partes correspondientes a la 
suma binariay a la deteccion de error por rebose. 

Aconsejamos usar una serial de control para decidir si el circuito debe sumar o restar (C=l 
suma y C=0 resta). Recuerde que para restar se complementa a 2 el sustraendo. Conviene recordar 
tambien las condiciones de rebose (si los dos operandos son positivos y la suma sale negativa y si los 
dos operandos son negativos y la suma es positiva) 

3. Circuitos Comparadores 

3.1. a) Escriba lasfunciones de un comparador para palabras de 2 bits. 

b) iComo podria ampliarlo a palabras de 3 bits?. iQue esquema de conexion se le ocurre 
para pasar de n a (n+1) bits?. ^Podria relacionar este ejercicio con el problema 5.4 del 
texto de problemas? . 



3.2. Hasta ahora los comparadores solo hacian referenda a las magnitudes. ^Podria disenar dos 
comparadores para palabras de 2 bits en cada una de las representaciones S-My C-2?. 

3.3. Disenar un comparador de 2 palabras de 3 bits con el circuito de control correspondiente para 
que a la salida muestre la mayor de las dos palabras que compara. 

3.4. Disenar un comparador para dos palabras de 3 bits (A2,A1,A0; B2,B1,B0) en representacion 
Magnitud-Signo que proporcione tres salidas (A> B, A= B, A< B). 

4. ALUs 

4.1. En lajigura 5.23 se muestra la tabla de operacion de la ALU SN74181 para logica positiva. 
Especificar lasfunciones que realiza este circuito si: 

a) S=LHHH, M=H y c^ = H 

b) S=LLLH, M=L y Vn^L 

4.2. Manejar la tabla completa de la ALU es tedioso por lo que es aconsejable hacer ejercicios 
sobre "mini-ALUs". Es decir, sobre versiones reducidas que solo usan dos variables de 
control (por ejemplo) y, por consiguiente, solo nos permiten seleccionar entre cuatro 
operaciones. Revisar el problema E. 5. 6 del texto de problemas y, usdndolo como inspiracion: 

a) Disenar un circuito de control que permita seleccionar entre lasfunciones Logicas: 

F = A 



F = A + B 
F = AB 
F = 
b) Disenar otro circuito de control que permita seleccionar entre lasfunciones Logicas: 



F 


^A' 


B 


F ■ 


= B 




F ■ 


= A®B 


F-- 


= A- 


B 



4.3. Las ALU's son circuitos que realizan funciones multiples controlables en las que, de acuerdo 
con el valor de ciertas variables de control (SO , SI , S2 ,..., M y Cn) se realizan distintas 
operaciones aritmeticas o logicas sobre las dos palabras de entrada (AO Al A2 ... An) y (BO 
B1B2 ...Bn) 

S3 S2 SI SO 




En la figura 5.19 se muestra la tabla de operacion de la ALU SN74181 para logica 
positiva. Especificar las funciones que realiza este circuito si: 

a) S=HLLL, M=L y Tn=L 

b) S=-HHHL, M=H y ~„=H 

c) S=HLLH, M=H y Tn=L 



Observese que cuando la operacion es logica los acarreos no intervienen, por lo que su 
valor es irrelevante. 

4.4. El esquema de la figura adjunta representa una "mini ALU" vacia. Seleccione cuatro 
funciones cualesquiera (dos aritmeticas y otras dos logicas) y disene el circuito de control 
correspondiente. 




^^^^^ 



Referencias Bibliograficas 

1. Dormido, S., Canto, M.A., Mira, J., Delgado, A.E.: "Estructura y Tecnologia de Computadores 
IF. Sanz y Torres, 1994, 1999, 2000. 

2. Gajski, .D.D.: "Principios de Diseito Digital". Prentice Hall, 1998.Mira, 

3. Katz, R.H.: ''Contemporary Logic Design". The Benjamin/Cummings Pub. Com., 1994. 

4. Sandige, R.S.: ''Modern Digital Design". McGraw-Hill. 1990. 

5. Texas Instruments: "The TTL Data Book". 19S7. 







Logica Combinacional ill): 

Ruta de datos 



■>t CONTEXTO 

Recordemos que hay esencialmente tres tipos defunciones en logica combinacional: 

a) Funciones de ruta de datos 

b) Funciones aritmetico-logicas (ALU) 

c) Circuitos cambiadores de codigo 

Las primeras son las encargadas de guiar, de forma controlada, el trdfico de senales (datos e 
instrucciones) entre los distintos puntos de un sistema de cdlculo. 

Las segundas son las encargadas de realizar operaciones aritmeticas o logicas sobre los datos, 
transformdndolos y produciendo un resultado local que, de nuevo, entra al trdfico controlado. 

Ya hemos visto las operaciones aritmetico-logicas, los comparadores y la estructura interna de 
una ALU. En este tema estudiaremos las funciones de ruta de datos en logica no programable. 



Esencialmente los multiplexos y demultiplexos que estdn basados en la apertura y cierre de puertas 
bajo el control de los terminos minimos de un conjunto de variables de control. 

^ ^ CONOCIMIENTO PRE VIO NECES ARIO 

Todos los conocimientos previos necesarios sabre la representacion, andlisis, minimizacion y 
sintesis defunciones logicas se encuentran en el tema 1 

■^-^■^ Ob JETivos DEL Tema 

Objetivo 1: Comprender la estructura interna y la funcion de los multiplexos en su doble uso 
como: 

a) Selector de canales de entrada (1 de n, paso de informacion deparalelo a serie) 

b) Modulo de diseno de otros circuitos en logica combinacional. 

Objetivo 2: Comprender los demultiplexos y su uso como: 

a) Selector de canales de salida (1 de n, paso de informacion de serie a paralelo) 

b) Modulo de diseno (junto con los Multiplexos) de circuitos convertidores de codigo. 

Objetivo 3: Conocer los circuitos encargados de adaptar las senales en su interaccion con un 
"bus": amplijicadores (buffers-drivers) y transmisores-receptores de bus (bus- 
transceivers). 

'\-¥-¥'^ GUIA DE ESTUDIO 

La estrategia seguida para la presentacion del material es estudiar primero las funciones para 
un niimero pequeno de bits y conectar despues con los circuitos comerciales y con el uso de versiones 
mas complejas ya integradas en arquitecturas de bus. 



^^^ 



Contemdo del Tema 



6.1. CiRCUITOS Selectores de Datos (Multiplexos) 

Empezaremos estudiando los multiplexos. Un multiplexo de A'^ a 1 es un circuito combinacional 
que permite situar en un canal de salida la senal procedente de cualquiera de los A'^ canales de entrada. 
Para la seleccion de canal hacen falta n variables binarias tales que 2" = A^. Es decir, cada 
configuracion logica mutuamente exclusiva de esas variables de control abre un canal asegurando que 
durante el intervalo de tiempo en el que ese canal permanece abierto, los otros estan cerrados. 

Tal como se muestra en la figura 6.1, la forma natural de seleccionar cual de dos seiiales de 
entrada {Dq, Dj) pasa a un canal de salida 7 es llevarlas a dos puertas AND que se unen fmalmente en 
una puerta OR. Despues hay que anadir la senal de control {A), de forma que de acuerdo con el valor 
de esa senal pase uno u otro canal de entrada. For ejemplo, para A=0, pasa Dq, {Y= Dq), y para A=l 
pasa Di, {Y= Dj). Tenemos asi un circuito multiplexor de 2 a 1 . 



Do 
Di 







LH 



^>h 



Control 

A 


Salida 
Y 



1 


Do 
Di 



Figura 6.1. Circuito multiplexor de 2 a 1. 



De forma analoga, para cuatro canales de entrada {Dq, Dj^ D2, D3) necesitamos cuatro puertas 



AND y cuatro senales de control que se generan con dos variables, Ay B. Finalmente, volvemos a 
poner una puerta OR y tenemos un circuito multiplexor de 4 a 1, tal como se muestra en lafigura 6. 2. 



B 



Do- 
D, 

D2- 







Control 


Salidas 


A B 


Y 





Do 


1 


Di 


1 


D2 


1 1 


Dj 



Figura 6.2. Circuitos multiplexores de 4 a 1. 

Es facil ahora generalizar a A^ canales de entrada. Basta repetir la estructura AND/OR y 
aumentar a n el niimero de lineas de control, siendo 2n=N. La. figura 6.3 muestra el circuito intemo 
correspondiente al multiplexo de ocho lineas a una, AS151, y la d.-/ la tabla de verdad y el simbolo 
logico correspondientes. El circuito posee ocho canales de entrada, (Do,D] ...,Dj). Para controlar su 
seleccion hacen falta tres variables. A, B y C (ya que 2^ = 8). A partir de estas variables (y de sus 
inversas) se producen los ocho terminos minimos en la columna de puertas AND. Cada una de estas 
puertas posee un termino minimo y un canal Dj de forma que solo pasa a la salida, a traves de la 
puerta OR, el canal Di tal que su subindice en base dos coincide con la configuracion de control. Asi, 
para A = B = C = 0, pasa Dq; para A = B = Oy C = 1, pasara D4 y asi sucesivamente. 

En general estos circuitos poseen una seiial de inhibicion/facilitacion ("strobe") que controla el 
instante en el que se realiza la transferencia del dato. En el caso del circuito de la figura la serial de 

inhibicion {G) debe estar en baja para facilitar el paso a 7de la senal Di seleccionada. Cuando G 
esta en alta, la salida PFesta en alta y la 7 en baja, independientemente del valor de las entradas. 




Figura 6.3. Circuito intemo del Multiplexo AS 1 5 1 . 



Este circuito puede usarse no solo para su funcion de selector de canal sino tambien para 
conversion paralelo a serie (con la apertura sucesiva de los distintos canales) y para la sintesis de 
funciones logicas arbitrarias. Veamos por su importancia esta segunda aplicacion. 



(a) 



ENTRADAS 
Control de Canal 


Strobe 


SALIDAS 


C B A 


G 


F W 


XXX 


H 


L 


H 


L L L 


L 


Do 


Do 


L L H 


L 


D, 


D, 


L H L 


L 


D2 


D2 


L H H 


L 


D3 


D3 


H L L 


L 


D4 


D4 


H L H 


L 


Ds 


Ds 


H H L 


L 


D6 


D6 


H H H 


L 


D7 


D7 



A cm 



(b) 




D7U2I 



Figura 6.4. . (a) Tabla de verdad del Multiplexo AS151. (b) Simbolo logico. 

Cuando aparece la necesidad de sintetizar una funcion logica puede ocurrir que ya exista 
integrada en cuyo caso se usa directamente. Si la funcion que necesitamos no existe hay que 
sintetizarla usando puertas logicas (nivel SSI), circuitos del nivel MSI (multiplexos, por ejemplo) 
logica programable, de la que hablaremos en el tema siguiente. Si recordamos el tema primero sobre 
las distintas forma canonicas en las que se puede representar una funcion logica es facil reconocer la 
idoneidad de los multiplexos para el diseno logico. De hecho un multiplexo es la implementacion en 
dos niveles (AND, OR) de una funcion logica universal escrita en forma normal disyuntiva, es decir, 
como suma de productos. La salida es la suma de los productos de los terminos minimos de las 
variables de control de canal (niQ =ABC. mj ^ABC,..., my = ABC) por los datos de entrada (Dq, 
D], ..., Dy) que realizan la funcion de los coeficientes de esos terminos minimos. Cuando un dato, Di, 
esta en alta decimos que la funcion posee el termino minimo correspondiente, mi, de forma que si en 
ese momento apareciera en las entradas de control, la salida del multiplexo , Y, estaria en alta, 



Y = 



2"-! 

Y.Drm, 

i=0 



■G 



[6.1 J 



Con un multiplexo de 8 entradas podemos generar cualquier funcion de cuatro variables. Para 



funciones de tres variables necesitariamos un multiplexo de solo cuatro entradas. Veamos primero un 
ejemplo sencillo de diseno para funciones de tres variables. Supongamos que queremos realizar la 
funcion, 

f{X,Y.Z) = XY + XYZ + XYZ + XYZ 

[6.2] 

Vamos a hacer corresponder a las dos primeras variables (X.Y) con las dos senales de control 
{A,B) de un multiplexo de cuatro entradas. Con ello tendriamos una parte de cada uno de los terminos 
minimos. Para completarios usamos las lineas de datos {Dq, D], D2_ D3) que deben corresponder a los 
valores que toma la variable Z. En el caso del ejemplo el termino minimo ( m^ = ^? ) no 
posee Z, viene multiplicado por "1", luego tengo que poner Do = l.E\ segundo termino {m, = XF), 
viene multiplicado por Z, luego pondremos D} = Z. El tercer termino minimo (w^ =X7) aparece 
multiplicado por Z , luego D,=Z . Finalmente, m,=XY,y D3=Z. Evidentemente, este ejemplo ha 
sido elegido con proposito pedagogico, pero la regla general es sencilla. 



1. Las variables de control (A, B) representan a dos variables cualesquiera de la 
funcion a sintetizar. 

2. Los canales de datos (Dq, Dj, D2, D3) se usan para la tercera variable (Z). El rango 
de valores para los Di es [o, 1, Z, Z )■ Si un determinado producto XY no existe, 
ponemos la Dj correspondiente a "0". Si existe y no tiene Z, ponemos su Di a "1 ". Si 
tiene Z, ponemos el valor correspondiente (z 6 Z ). 



Para sistematizar el proceso es conveniente comparar las tablas de verdad correspondientes, tal 
como se ilustra en lajigura 6.5. 

Cuando el niimero de variables es tal que un determinado tipo de multiplexo no es suficiente 
para su sintesis, se utiliza un disefio en arbol. Supongamos que queremos sintetizar una funcion de 
cinco variables, f(X, Y, Z, U, V), para lo que necesitamos un multiplexo de 16 entradas y que solo 
disponemos de multiplexores de 4 entradas. Veamos como podemos realizar la sintesis en dos niveles. 
Para ello realizamos una particion de las variables. Dejamos, por ejemplo {X,Y) para las entradas de 



control del segundo nivel y sintetizamos el resto (Z, U y V) en el primer nivel. 

Cuando algun termino minimo en {X,Y) no existe la D, correspondiente se pone a "0". Cuando 
existe de forma aislada sin participacion del resto de las variables, Di se pone a "1". Finalmente, 
cuando hay participacion de (Z, U, 6 V), se saca factor comiin y se sintetizan en el primer nivel para 
actuar despues como D, del segundo. Este procedimiento de reparto de variables sobre distintos 
niveles es iterativo. 



AB 


XY 


Residuo 


Valor de Z)/ 


mo = 


XY 


1 


Do = l 


mi =01 


Yy 


Z 


Di=Z 


m2 = 10 


XY 


Z 


D2=^ 


m3 = 1 1 


XY 


Z 


D3=Z 



(a) 



(b) 




f(XY) 



Figura 6.5. Diseno de fimciones logicas usando multiplexos. Ilustracion del ejemplo usando un multiplexo de 
cuatro entradas {Dq, D], D2 y D3) y dos lineas de control {A y B). (a) Tablas de la fimcion a 
sintetizar y los valores de D[ para la variable residual, (b) Esquema de conexion del circuito. 

Veamos el procedimiento de diseno con multiplexos descrito anteriormente de forma general 
sobre un ejemplo que incluya la mayoria de las circunstancias descritas anteriormente (ceros, unos y 
variables que pasan al nivel anterior). Supongamos que necesitamos sintetizar la funcion: 



f{X,Y.Z,U,V) = XYZUV + XYUV + XYZUV + XYZUV + XYZUV + XYZUV 



[6.3] 



Paso 1" 



Identificar los terminos minimos de (X,Y)y sacar factor comiin. 

D2 



< ^" ) 



^^^ 



D3 



f{x,Y,z,u,v)= X y[zu V + u v)+ X y{ )+xy[zuv + zuv)+xy[zuv + zuv) 

Asi, ya tenemos el segundo nivel. 



[6.4] 



[6.5] 



[6.6] 



[6.7] 



Paso 2°: Sintetizar los parentesis en el primer nivel. Sintesis de [zUV + Uv) ■ Asociamos U,Va. 
A, By dejamos Z para las D^: 

^^^ ^^^ ^J2^ ^^^ 

(zuv + uv)=uv{ )+uv( Z )+UV{ 1 )+UV{ ) 
Analogamente, 

^-^^ ^-^^ < ^^--> > < ^^ > 

(zc/F + zt/r)=t7r( o)+^r( )+uv(z + z)+uv{ ) 

^A^ ^-i5L_^ ^J^ < ^. ) 

(zuv + zuv)^uv( Z )+UV{ )+UV{ )+uv{ z ) 

Con lo que se obtiene el circuito que se muestra en lafigura 6.6. 

Hay otras muchas aplicaciones de los multiplexos asociadas a su funcion de seleccion de un 
camino entre A^ posibles. Per ejemplo, en todos los circuitos digitales en los que la comunicacion se 
organiza usando canales de datos, a los que estan conectados varios circuitos que pueden ser 
altemativamente fuente o destino de informacion. El facilitar la entrada y/o salida del canal de los 
datos procedentes de un circuito concreto siempre se puede realizar usando multiplexos y sus 
circuitos complementarios (demultiplexos) de los que hablaremos a continuacion. 

Para todas estas funciones especificas de multiplexado existen soluciones integradas en MSI. 
Por ejemplo, en TTL tenemos multiplexores de 16 a 1 con salidas de dos estados (SN74150) y de tres 
estados (SN74250) o de 8 a 1, tambien con salidas de dos (SN74151) o tres estados (SN74251) 6 
multiplexos universales tipo SN74857 en los que, ademas de seleccionar un canal de entrada, se 
ofrece a la salida alguna operacion logica entre las entradas. 

En todos los casos, junto a las entradas de datos y los bits de control se incluye un terminal de 

facilitacion del circuito (enable, G ), activo en baja, que cuando esta en alta pone la salida en estado 
de alta impedancia pudiendo asi seguir conectada directamente al bus. Tambien es usual que las 
salidas sean dobles, la correspondiente al canal de entrada seleccionado y su complementaria. 

En los universales hay seis multiplexos de 2 a 1, con las funcionalidades usuales (tres estados. 



salida real y complementada, etc.), pero con la facilidad adicional de admitir cuatro modos de 
operacion: selecciona el bit A de cada par, selecciona el bit B, realiza la operacion AND entre Ay B o 
pasa todas las entradas a baja (clear). 




f(XYZUV) 



Figura 6.6. Diseno en dos niveles de una funcion de cinco variables usando MUX de cuatro entradas. 

El diseno de funciones logicas con multiplexes es un procedimiento sencillo y universal. 
Veremos su utilidad en los temas 7 y 13, al estudiar la logica programable. Una parte importante del 
proceso de configuracion de un circuito combinacional o secuencial se resuelve mediante el uso de 
multiplexes que, dependiendo del valor de sus lineas de control, configuran distintos esquemas de 
conectividad entre otros circuitos (puertas, contadores, registros , etc.). 



6.2. Demultiplexos. 

Realizan la funcion inversa a la de los multiplexes. Un demultiplexo de 1 a 2" es un circuito 
con una unica linea de entrada y 2" lineas de salida cuya puerta de acceso esta controlada por « 



variables. Para cada configuracion mutuamente exclusiva de estas lineas de control se abre un solo 
canal de salida. La funcion se completa con la inclusion de una seiial de facilitacion o inhibicion de la 
transmision ("enable/strobe", E). La figura 6.7 muestra el circuito intemo del SN74ALS156 que 
incluye dos demultiplexes de una Hnea de entrada a cuatro lineas de salida con lineas de inhibicion 
individuales [iG y 2G), y seleccion de direccion de salida comiin a ambas partes del circuito (senales 
A y B). Las entradas son IC y 2C. 



Strobe 




Figura 6.7. Circuito intemo del SN74ALS156 que incluye dos demultiplexer 1 a 4 con direccionamiento 
comiin {A,B) y entrada de facilitacion/inhibicion individual (jG y 2G\. 

Este circuito puede conectarse de forma que funcione como decodificador de2a46de3a86 
bien como demultiplexo de 1 a 4 lineas 6 de 1 a 8 lineas. La^figuras 6.8. y 6.9 muestran los simbolos 
logicos y las tablas de verdad del circuito para su funcionamiento como decodificador de 2 a 4 y como 



simple demultiplexo de 1 a 4. 

Los circuitos demultiplexos pueden usarse para convertir informacion serie en paralelo. Sin 
embargo, su uso mas frecuente es la sintesis de decodificadores. Cuando las lineas de control 
representan palabras en binario puro o en BCD, el circuito actua como decodificador, pasando por 
ejemplo de binario a decimal. En cada instante solo estara activa la linea de salida (0, 1, 2, ..., 9) 
correspondiente al valor binario de la configuracion de control (0000, 0001, 0010, ...). 



IG 
IC 
A 
B 



2G 

2C 





& 

1 
2 

& 


XA^ OaO 


v^ 




laO 


(7) 


r-^ 


2aO 

EN a 

3aO 

opo 


(6) 






(2) 


(5) 






(1) 


(4) 


(13) 


\ 




ipo 

2pO 

EN 3 3pO 


(9) 


(3) 




(10) 


1^ 


(11) 


(14)^ 


1^^ 




(15) 


(12) 



2Yq 
2Y, 

2Y2 
2Y, 




Decodificador de 2 a 4 



Demultiplexo de 1 a 4 



Figura 6.8. Simbolos logicos del circuito ALS156. (a) Decodificador de 2 a 4. (b) DEMUX dual de 1 a 4. 



ENTRADAS 




CAr inAC 






ENTRADAS 




C AI ir»AC 




Seleccion 


Strobe 


Data 




Seleccion 


Strobe 


Data 


._.... 1 


B 


A 


IG 


IC 


lYo 


lYi 


IY2 


IY3 


B 


A 


2G 


2C 


2Yo 


2Yi 


2Y2 


2Y} 


X 


X 


H 


X 


H 


H 


H 


H 


X 


X 


H 


X 


H 


H 


H 


H 


L 


L 


L 


H 


L 


H 


H 


H 


L 


L 


L 


L 


L 


H 


H 


H 


L 


H 


L 


H 


H 


L 


H 


H 


L 


H 


L 


L 


H 


L 


H 


H 


H 


L 


L 


H 


H 


H 


L 


H 


H 


L 


L 


L 


H 


H 


L 


H 


H 


H 


L 


H 


H 


H 


H 


L 


H 


H 


L 


L 


H 


H 


H 


L 


X 


X 


X 


L 


H 


H 


H 


H 


X 


X 


X 


H 


H 


H 


H 


H 



Figura 6.9. Circuito ALS156. Tablas de verdad para controlar el funcionamiento del circuito como 
decodificador de 2 a 4 y como DEMUX doble de 1 a 4. 



Los terminos decodificador y su complementario (codificador) hacen referenda a una funcion 
mas general de circuitos convertidores de codigo. Estos circuitos reciben n lineas de entrada y 
producen m lineas de salida pudiendo ser n mayor 6 menor que m. En general, uno de los extremos es 
una palabra en binario puro o en decimal codificado en binario (BCD, Binary-Coded-Decimal) y en el 
otro esta la representacion decimal o un visualizador de siete segmentos, por ejemplo. 

Finalmente, queremos seiialar que los circuitos demultiplexos y los decodificadores tambien 
pueden usarse, al igual que los multiplexes, para sintetizar funciones logicas arbitrarias, dado que 
cualquier circuito decodificador proporciona a su salida los 2« terminos minimos de las n variables de 
entrada. Basta entonces afiadir una puerta OR externa para sumar los terminos minimos que posee la 
funcion a sintetizar. 

Asi pues, los circuitos demultiplexores/decodificadores intervienen en el diseiio logico a tres 
niveles: 

a) Funciones especificas de distribucion de datos. 

b) Funciones especificas de decodificacion. 

c) Como modulos generales de diseno. 

Para las funciones especificas de distribucion de datos y de uso mas frecuente en 
decodificacion existen soluciones integradas en MSI. La tabla de lafigura 6.10 resume algunas de las 
soluciones integradas en TTL. Evidentemente, ante un problema de diseiio el primer paso debera ser 
la revision de los datos de catalogo buscando la solucion o combinacion de soluciones especificas que 
pueda resolvemos el problema de forma mmediata. Cuando tal solucion no existe el paso siguiente 
sera disenar el circuito correspondiente a partir de los modulos disponibles en MSI con la ayuda de 
algunas puertas logicas (SSI). 

En el apartado anterior hemos visto como podian realizarse estos diseiios usando multiplexos. 
Por razones pedagogicas, en este apartado vamos a suponer que solo disponemos de demultiplexos o 
decodificadores. En el tema siguiente supondremos que disponemos de memorias PROM y de logica 
programable (PLA's y PLD's). Evidentemente, el final de la historia sera abordar el problema de 
diseiio suponiendo que disponemos de todo el repertorio actual de funciones combinacionales y 
secuenciales, programables y no programables, para resolver un problema de diseno. 



DESCRIPCION 


TIPO de SALIDA 


NOMBRE 

(SN74XXX) 


DEMUXde4al6 


Tres estados 


154 


4al6 


Colector abierto 


159 


4 a 10 (BCD a Decimal) 


Dos estados 


42 


4 a 10 (Exceso 3 a Decimal) 


Dos estados 


43 


3 a 8 con biestables en las tres 
lineas de direccion 


Dos estados 


137 


Dual 2 a 4 


Dos estados 


139 


BCD a Decimal 


Colector abierto 


141 


BCD a Siete Segmentos 


tl !l 


246 



Figura 6.10. Algunos ejemplos de circuitos demultiplexos y decodificadores especificos. 

Como ejemplos de interes didactico relacionados con la primera cuestion vamos a estudiar los 
decodificadores BCD a decimal y BCD a 7 segmentos. 

Un decodificador BCD a decimal necesita cuatro lineas de entrada {A, B, C, D), y diez lineas de 
salida (Dg, Dj, ...Dg). Ante cada configuracion de entrada, solo esta activa una de las lineas de salida, 
aquella que representa al valor decimal de la configuracion binaria de entrada. El codigo BCD 
(decimal codificado en binario) mas usado es el (8,4,2,1) y coincide con el binario puro hasta llegar al 
9 (1001). A partir de aqui, los niimeros de dos o mas cifras no se codifican por su valor global en 
binario, sino por el valor binario de cada una de sus cifras (32, por ejemplo, es 001 1,0010). La figura 
6.11. muestra la tabla de verdad, y las expresiones logicas de los terminos minimos correspondientes a 
cada una de las diez salidas (Do,...,Dg). 

Vamos ahora a comentar la sintesis del decodificador. Como disponemos de cuatro bits, 
tenemos 2'*=16 configuraciones de entrada distintas (0000,...,! Ill), pero solo necesitamos 10 (desde 
0000=0, hasta 1001=9). Las otras seis pueden usarse para minimizar, como minterms redundantes, 
que se supone que nunca se va a presentar o bien, para evitar errores, hacer que esas seis 
configuraciones produzcan una salida caracteristica, por ejemplo poniendo las diez lineas de salida en 
baja. Aqui hemos elegido esta segunda opcion y la figura 6.12 muestra el circuito correspondiente 
usando inversores y puertas AND. 



8 


CODIGO BCD 

4 2 




DECIMAL 


D 


C B 


A 











Do =DCBA 










Dj =DCBA 





1 





D2=DCBA 





1 




Dj =~DCBA 





1 





D4 =DCBA 





1 




Ds=DCBA 





1 1 





D^^DCBA 





1 1 




Dj =DCBA 


1 








Dg =DCBA 


1 







Dp =DCBA 



Figura 6.11. Decodificador BCD a decimal. Tabla de verdad y fimciones logicas asociadas a cada digito 
decimal. 



Dado que cada salida es un termino minimo, no es necesario realizar ninguna minimizacion y el 
funcionamiento del circuito es evidente. Dejamos como ejercicio para el alunmo la sintesis del 
codificador complementario que, partiendo de (Do,...,Dg) nos genera los cuatro digitos BCD 
correspondientes. Es decir, (DCBA). 

Vamos a comentar ahora el otro ejemplo propuesto que es la decodificacion de BCD a "siete 
segmentos". En el ejemplo anterior sabiamos que una determinada configuracion de entrada 
correspondia por ejemplo al decimal 3, porque se activaba la Hnea D3. En el decodificador con salida 
siete segmentos se utiliza una estructura rectangular formada por siete barras independientes, tal como 
se muestra en \a figura 6. 1 3. a. Cada una de estas barras se realiza electronicamente mediante un diodo 
emisor de luz (LED) o mediante tecnologia de cristales liquidos. Para excitar estos diodos 
necesitamos siete funciones logicas (a, b, c, d, e. fy g) de las cuatro variables de entrada (A, B, C, D) 
de forma que ante cada configuracion se activen los diodos necesarios para visualizar el digito 
decimal correspondiente. La. figura 6.1 3.b muestra la tabla de verdad en la que se incluye el digito 
binario, su codigo BCD y la configuracion siete segmentos que lo representa. 




Figura 6.12. Sintesis del decodificador BCD a decimal. 



En \a figura 6.14 se muestra el diagrama de Karnaugh correspondiente a la sintesis de la 
funcion de activacion del segmento "a" y su circuito correspondiente. El resto de las funciones de 
activacion de los otros segmentos (Jb, c, .... g) se obtienen de forma analoga y se dejan como ejercicio 
para el alumno. Tal como comentabamos anteriormente, el proposito de este ejemplo es de naturaleza 
pedagogica ya que existe como circuito integrado (SN7446, 47, 48 y 49). 

Para obtener las ecuaciones del segmento "a" observamos el diagrama de Karnaugh de Xa. figura 
6. 14. a. Hemos puesto un uno en los terminos minimos correspondientes pero es mas comodo trabajar 

con los ceros y obtener asi la funcion complementada (a). Posteriormente complementamos el 
resultado y aplicamos los teoremas de DeMorgan. Se obtiene asi: 



a^ABCD+AC+BD 



a =a = AB C DACBD 



[6.8] 



Ao- 



Bo- 



Co- 



Do- 



Decodificador 
BCD 

a 
7 Segmentos 



/ 



g 



\ 
i 

/ 



Nq^a 



V^, 



\ 



g I 



BBeMBBBBBBiBMBB 



1 



8 9 10 11 12 13 14 15 



0000 0001 0010 0011 0100 0101 OHO 0111 1000 1001 1010 1011 1100 1101 1110 nil 



(a) 



(b) 





Z) 


c 


B 


A 


a 


* 


c 


d 


e 


/ 


g 

















1 


1 




1 


1 


1 





1 
















1 
















2 













1 


1 







1 







3 












1 


1 














4 





1 











1 









1 




5 





1 







1 












1 




6 





1 

















1 


1 




7 





1 






1 


1 














8 













1 


1 






1 


1 




9 












1 


1 









1 




10 























1 







11 

















1 












12 




1 











1 










1 




13 




1 







1 













1 


1 


14 




1 


















1 


1 


1 


15 




1 




























Figura 6.13. Decodificador BCD a 7 segmentos. (a) Codigo de diodos usado para representar los 
digitos. (b) Tablas de verdad. 



\BA 


00 


01 


11 


10 


00 


1 


w 


1 


1 


01 





1 


1 




1 


11 





1 









LP.... 


10 


1 


1 














Figura 6.14. Sintesis del segmento "a". 

Hemos visto la conversion BCD a decimal y BCD a 7 segmentos. De la misma manera 
podriamos haber visto las conversiones inversas o cualesquiera otras transformaciones entre M 
variables de entrada y A'^ variables de salida. 

Vamos a comentar fmalmente el uso de decodificadores come modulos universales para la 
sintesis de funciones logicas. Recordemos que n lineas de entrada de datos generan 2" lineas de 
salida. Cada linea es un termino minimo, por consiguiente nos basta con anadir tantas puertas "OR" 
como funciones diferentes deseemos a la salida. Supongamos por ejemplo que disponemos de dos 
demultiplexos de 3 a 8 tipo SN74138 y que queremos sintetizar las funciones correspondientes a los 
siete segmentos del decodificador del ejemplo anterior, tal como se muestra en la tabla de \a figura 
6.13.b. ^Como podriamos obtenerlos?. 

Primero, como necesitamos cuatro variables (D,C,B,A) y el demultiplexo del ejemplo solo 
posee tres entradas tenemos que usar dos circuitos conectados tal como se muestra en \a figura 6.15. 

Las tres lineas de entrada de datos {Iq, Ii, h) se usan para las variables {A, B, Q y el bit mas 
significativo (D) se introduce a traves del terminal de facilitacion. Cuando esta en alta facilita a un 
decodificador que produce los primeros ocho terminos minimos (Dg, ..., Dj). Cuando esta en baja 
inhibe al anterior decodificador y facilita al siguiente, produciendo los otros terminos minimos 
{D8, ..., D15). Tenemos asi 16 lineas paralelo con los 16 terminos minimos. Para obtener ahora la 
funcion de cada segmento, basta mirar en la tabla de verdad de la figura 6.13.b y Uevar a una puerta 
OR los terminos correspondientes, sin minimizar. Por razones de claridad en la presentacion de la 
figura solo se muestran los casos correspondientes a los segmentos "a" y "c". 




Figura 6.15. Uso de circuitos demultiplexores en la sintesis de flinciones logicas. Ejemplo de uso de dos 
circuitos 3 a 8 conectados a traves del terminal de facilitacion/inhibicion para producir 16 terminos 
minimos. Las puertas OR con las conexiones indicadas sintetizan los segmentos "a" y "c" del 
decodificador del ejemplo anterior. 

Veremos en el tema siguiente como los circuitos conversores de codigo y la sintesis de 
funciones arbitrarias a partir de su facilidad para generar los terminos minimos de n variables son las 
bases de toda la logica programable. 



6.3. CODIFICADORES CON PRIORIDAD 

En un circuito codificador se genera a la salida el codigo correspondiente a la linea de entrada 
que esta activa. Esta funcion es adecuada siempre que podamos garantizar que en cada momento solo 
hay una linea activa. Sin embargo, cuando pueden existir dos o mas lineas de entrada activas al mismo 
tiempo es necesario establecer un criterio de prioridad (un orden en la codificacion) de forma que en 
cada momento solo se genere el codigo de la linea que es prioritaria, del conjunto de las que estan 



activas en ese momento. El circuito que realiza esta funcion se llama codificador con prioridad. 
Veamos como se puede sintetizar un codificador con prioridad para cuatro lineas de entrada (Pj, P2, 
Pi, Pq) en los que P3 es prioritaria a todas las demas. Despues es prioritaria P2, despues Pj y, 
finalmente, Pq. En la figura 6.16 se muestra la tabla de verdad del codificador y el circuito 
correspondiente . 



P3 


Pi 


Pi 


Po 


yi 


yo 


R 














X 


X 





1 


X 


X 


X 


1 


1 


1 





1 


X 


X 


1 





1 








1 


X 





1 


1 











1 








1 




Figura 6.16. Tabla de verdad y circuito correspondiente al diseiio de un codificador con cuatro niveles de 
prioridad. Se considera que Pj ,P2, Pi, Poy R son activas en baja y que yj e yg son activas en alta. 



Como hay cuatro lineas activas a la entrada nos hacen falta dos lineas de salida para codificar 
los cuatro niveles de prioridad. Sean estas salidas yj e yg, y asociemos el grado de prioridad al valor 
en binario de la configuracion que lo codifica. Asi, (yj =1, yo=l), lo asociamos a P3=l, 
independientemente del valor en P2, Pj, y Pq- Analogamente, yj =1, yo=0 lo asociamos a (P3=0, 
P2=l), independientemente del valor de Pj, y Pq. Cuando Ps^O, P2=0, y P]=l, hacemos (yy =0, 
70=1)- Finalmente, cuando esta activa Pq, estando inactivas las otras lineas {P3=P2=P]=0), hacemos 
yi ^yo^O • Hemos anadido una linea adicional (R) para diferenciar la situacion en la que no hay 
requerimiento en ninguna de las lineas (R=0 cuando Ps=P2=Pi=Po=0) de las situaciones en las que 
al menos una de las lineas esta activa. 

Por simple inspeccion de la tabla o por el metodo mas completo de minimizacion las funciones 
correspondientes a los terminos minimos que poseen jvy, jo y -/? es facil comprobar que: 



yo^Ps+Pi-P, 

R = Ps+P2+Pj+Po 



[6.9] 



Si suponemos que las entradas y la salida R se consideran activas en baja, mientras que yi, yo 
se consideran activas en alta, el circuito resultante es el de la figura 6.16. 

Hay soluciones integradas en TTL para distintos codificadores con prioridad tales como los 
circuitos SN74147, 148, 348 y 278. El circuito SN74148 codifica ocho lineas de datos a tres lineas 
binarias en octal (4-2-1) y permite la conexion en cascada para expandir sin necesidad de otros 
circuitos extemos, usando solo las lineas EI (enable input) y EO (enable output). Por otro lado el 
SN74348 posee las mismas facilidades pero con salidas de tres estados. 

El circuito SN74147 codifica 9 lineas de datos en decimal a 4 lineas en BCD (8-4-2-1). La 
condicion implicita del cero en decimal no requiere ninguna condicion de entrada ya que el cero se 
codifica cuando las nueve lineas de datos estan en el nivel logico de alta. Todas las senales de entrada 
y salida son activas en baja. La figura 6.17 muestra la tabla de verdad correspondiente a este 
codificador y la figura 6.18 muestra su esquema intemo. 



Entradas 


Salidas \ 


1 


2 


3 


4 


5 


6 


7 


8 


9 


D 


C 


B A 


H 


H 


H 


H 


H 


H 


H 


H 


H 


H 


H 


H H 


X 


X 


X 


X 


X 


X 


X 


X 


L 


L 


H 


H L 


X 


X 


X 


X 


X 


X 


X 


L 


H 


L 


H 


H H 


X 


X 


X 


X 


X 


X 


L 


H 


H 


H 


L 


L L 


X 


X 


X 


X 


X 


L 


H 


H 


H 


H 


L 


L H 


X 


X 


X 


X 


L 


H 


H 


H 


H 


H 


L 


H L 


X 


X 


X 


L 


H 


H 


H 


H 


H 


H 


L 


H H 


X 


X 


L 


H 


H 


H 


H 


H 


H 


H 


H 


L L 


X 


L 


H 


H 


H 


H 


H 


H 


H 


H 


H 


L H 


L 


H 


H 


H 


H 


H 


H 


H 


H 


H 


H 


H L 



Figura 6.17. Tabla de verdad correspondiente al codificador con prioridad SN74147. 



J (11) 


r 

G ^^^> — 


SN74147, SN74LS147 

: 1 -\ 






^^fv- 




r? ^ 

N 


pl> 




2 (12) 


r 


^l 








^A 


3 (13) 








— ^^^> — 






4 (1) 


rD>-i- - 










-JV^ 


l^ 1 ^^ 


= : ___)— 








- = \^ 


k> 




5 (2) 


4>-J 


- " r 


il) B 








6 (3) 


No 






1/^ 


U^° 


■\ 






7 (4) 




^^i> 


c> 






-kTv- 




1 > 


(6) c 


« (5) 












-T"'^^ 




9 (10) 


pL-^ 




^_.^^ 


(14)/) 






I y>^ 






I 





Figura 6.18. Circuito codificador con prioridad SN74147 que solo codifica en BCD la linea decimal de mayor 
orden 



6.4. Amplificadores (Buffers-Drivers) y 
Transmisores-Receptores de Bus. 

Dentro de las funciones de ruta de datos existen un conjunto de circuitos que no realizan 
cambios logicos en las senales que procesan pero las preparan para que esten disponibles donde y 
cuando las necesiten y con el nivel de corriente suficiente para que no existan problemas de 
impedancia. A su vez, aislan la fuente de la senal del circuito al que debe ser aplicada. Hay dos tipos 
de circuitos dentro de este apartado: 

a) Buffers-drivers. 

b) Transmisores-receptores de bus. 

Los primeros son en esencia amplificadores digitales que incrementan los niveles de corriente 
que se pueden entregar a una carga o absorber de la misma sin confundir el estado. Realizan tambien 
funciones de reconstruccion de pulsos en operaciones de lectura/escritura en circuitos de memoria 
(proporcionando ganancia a las salidas del registro de direcciones). Un ejemplo representativo es el 
circuito ALS760 con salidas en colector abierto cuyo diagrama se muestra en la figura 6.19. 




Figura 6.19. Circuitos amplificadores ("Buffers-Drivers") tipo ALS760 (medio circuito). 

Estos circuitos amplificadores de corriente estan pensados no solo para mejorar las 



caracteristicas de los circuitos de direccionamiento de memorias con salidas de tres estados sino en 
todas aquellas aplicaciones en las que la organizacion de las interconexiones entre los distintos 
circuitos que constituyen un sistema digital se organizan en buses. Es decir, usando un conjunto de 
canales conductores comunes a los distintos componentes del sistema digital y soportando tanto la 
funcion de transmision como la de recepcion de datos. Electronicamente se encargan de adaptar 
impedancias y mantener con precision los niveles logicos y sus transiciones durante los intercambios 
de informacion con el bus. La salida, en general acepta una configuracion en colector abierto o en tres 
estados. 

Los circuitos amplificadores ("drivers-buffers") son unidireccionales. En cambio los 
transmisores-receptores de canal ("bus-transceivers") son bidireccionales. Mantienen para cada 
direccion de transmision las caracteristicas de los "drivers" pero duplican el circuito basico e incluyen 
dos senales de control, DIR y G , que facilitan la transmision en un sentido a la vez que lo inhiben en 
el sentido contrario. Un ejemplo representativo es la serie ALS640 a 645. 

Estos circuitos estan pensados para facilitar las comunicaciones asincronas y bidireccionales 
entre dos canales de datos, AyB, tal como se ilustra en lafigura 6.20. 



B 
U 

S 




t t 

a otros transceivers 



B 

U 

s 



CONTROL 



DIR 



OPERACI6N 



Datos de B pasan a A 

Datos de A pasan a B 

Aislamiento 



Figura 6.20. Transmisor-receptor de canal (ALS641). 



El sentido de la transferencia lo marca la senal DIR de forma que cuando esta en baja los datos 
pasan dQ B a A y cuando esta en alta pasan de ^ a 5. En ambas situaciones la senal de 

facilitacion/inhibicion G debe estar en baja. Cuando G pasa a alta las Hneas se aislan del canal. 

Veamos ahora un ejemplo sencillo de control de las interconexiones con un bus antes de seguir 
con circuitos integrados transmisores-receptores de bus de mayor grado de complejidad. Supongamos 
que queremos disenar un circuito que controle el acceso a un bus de 4 fuentes de senal, Do, D,, D2 y 
D}, de 1 bit cada una suponiendo que: 

I) Cada fuente de senal dispone de un bit adicional de requerimiento de acceso, i?,-, que se pone en 
alta cada vez que desea acceder al bus. 

II) Cuando dos o mas fuentes desean a la vez acceder al bus, se aplica el criterio de prioridad de 
acceso, Ds> D2> D,> Do . 

Recordemos que los amplificadores de 3 estados ("3-state drivers"), cuya sintesis en TTL y 
CMOS hemos visto en los temas 3 y 4, proporcionan tres valores a la salida (0, 1, Z) donde el valor Z 
representa un estado de muy alta impedancia respecto de la fuente y de tierra, de forma tal que a 
efectos funcionales puede considerarse desconectado del bus. Asi, los drivers de 3 estados tienen una 
linea de datos de entrada, D, otra linea de salida, Y, y una tercera linea de control E (enable line) de 
forma que cuando esta linea de control esta en alta {E = 7) la salida, Y, sigue a la entrada, D y cuando 
E = 0,\dL salida pasa a alta impedancia (desconecta). 

Para el caso de 4 fuentes podemos aceptar el criterio de prioridad D3 > D2 > D, > Do, y 
proponer el siguiente diseno de lafigura 6.21 que corresponde a las siguientes especificaciones: 

> En general, todos los drivers estan en alta impedancia {Eo=E,=E2-E3=Q) con lo que las 4 
fuentes estan desconectadas del bus. 

> Cuando una o varias fuentes desean acceder, pasan a alta su bit de requerimiento de acceso (/?,). 

> Si solo hay una Rt^ 0, se activa el driver correspondiente, £■,-, y pasa al bus la senal Yi = Dj. 

> Si hay varias demandas simultaneas, (varias i?,- ^ 0), el codificador de prioridad selecciona la 
seiial de activacion (Ej) de la linea prioritaria (Dj) y es esta seiial la que pasa al bus (Yj = Dj). El 
resto (Dj, i^j ) quedan bloqueadas en los estados de alta impedancia de sus "drivers". 



Fuentes de Datos 



Bus 



R3' 



D, 



R2 



D, 



Ri' 



Do 



Ro 



W W W U 



Z), 



/>7 



/>» 



A0 R] R2 R3 

Gestidn del Acceso 








Gestion del Acceso 








Rs 


R2 


Ri Ro 


E3 E2 


E, 


Eo 




1 






X 

1 





X X 
X X 
1 X 

1 



1 
1 







1 








1 




E, = R3. 


Br- 


= Ri R2, El = R} Rz Ri, Eo = 


-R3'R2 


Ri Ro 





R30- 

Ro^ 



Gestion del Acceso 





^ 



^ 




-0E3 
E2 



) oE, 



Eo 



Figura 6.21. Gestion del acceso a un bus de cuatro fuentes de datos.. 

El siguiente nivel de complejidad y prestaciones en los circuitos transmisores-receptores de 
canal incluye elementos de memoria con registros independientes para los datos del canal A y los del 
canal B y con posibilidad de multiplexar datos en tiempo real con otros almacenados previamente en 



registros. Aunque los biestables y los registros de desplazamiento no se van a estudiar hasta que no 
lleguemos al tema 8, tras fmalizar el estudio de las funciones combinacionales con la introduccion de 
la logica programable en el tema 7, vamos a comentar aqui por complitud, la serie de "transceivers" 
ALS646 (3-estados) y ALS347 (colector abierto), aceptando una vision cualitativa del concepto de 
biestable como circuito que almacena un estado binario y la de registro como un conjunto de 
biestables. Lafigura 6.22 muestra el esquema del circuito ALS646 que es un transmisor-receptor de 
canal para ocho bits que admite cuatro modos de funcionamiento. 




Tttt 
a otros 7 canales 



Figura 6.22. Circuito interne del octal bus transceiver ALS646 



Lafigura 6.23 muestra la tabla de control de los cuatro modos de funcionamiento , que son: 
1. Paso directo del canal B al canal A en tiempo real. 



2. 



It t1 If 



A " " B " " 



3. Almacenamiento en los registros intemos de dates procedentes del A, del 5 o de ambos. 

4. Transferencia de datos almacenados previamente a los canales A6B. 



ENTRADAS 


DATOS I/O 


FUNCION 


G 


DIR 


CAB 


CBA 


SAB 


SBA 


A1-A8 


B1-B8 


ALS646.647 


X 


X 


t 


X 


X 


X 


Entrada 


NE 


Almacena A. B, NE 


X 


X 


X 


t 


X 


X 


NE 


Entrada 


Almacena B. A, NE 


H 


X 


T 


t 


X 


X 


Entrada 


Entrada 


Almacena Ay B 


H 


X 


H/L 


H/L 


X 


X 


II 


" 


Aislamiento (HS) 


L 


L 


X 


X 


X 


L 


Salida 


Entrada 


Datos bus B al A (JK) 


L 


L 


X 


H/L 


X 


H 


II 


II 


Datos B a bus A (ST) 


L 


H 


X 


X 


L 


X 


Entrada 


Salida 


Datos A a bus B (TR) 


L 


H 


H/L 


X 


H 


X 


II 


It 


Datos A a bus B (ST) 



Figura 6.23. Tabla de control de modo del ALS 646. Las fimciones de salida de dato pueden ser facilitadas o 

inhibidas por distintas seiiales en las entradas de control G y DIR. Las flinciones de entrada de 
datos estan siempre facilitadas, es decir, los datos en los terminales que conectan al bus pueden ser 
almacenados en cada transicion de baja a alta de las entradas de reloj. Las ocho flinciones 
asociadas a los ocho modos especificos de funcionamiento se describen en la parte derecha de la 
tabla en la que hemos usado el siguiente convenio de notacion: NE = no especificado. HS = retiene 
el dato abnacenado. 77? = el dato pasa del registro al canal en tiempo real. ST = el dato que pasa al 
canal es el que estaba almacenado en el registro de origen. 



Observese que las seiiales de control ( G , DIR, CAB, CBA, SAB y SBA) no hacen mas que 
multiplexar caminos de transferencia de datos entre un origen y un destino. Asi, van abriendo o 
cerrando las vias que enlazan directamente los dos canales y cada registro intemo permitiendo 
transferencia directa entre canales, transferencia entre canal y registro y, por consiguiente, 
transferencia directa entre canales a traves de registros. La comprension del funcionamiento del 



circuito aconseja considerar a la vez los diagramas de bloques de los cuatro modos fundamentales. 

La figura 6.24 los repite de forma anecdotica la operacion asociada a cada uno de los cuatro 
modos, incluyendo tambien las filas de la tabla de control correspondientes a cada una de esas cuatro 
transacciones entre los buses A y B. 




G 


DIR CAB CBA SAB SBA 


L 


L X X X L 




G 


DIR 


CAB CBA SAB SBA 


L 


H 


X X L X 




/ 

G 


DIR 


CAB 


CBA 


SAB SBA 


X 


X 


t 


X 


X X 


X 


X 


X 


t 


X X 


H 


X 


t 


t 


X X 

J 




/TL \ 

G DIR CAB CBA SAB SBA 



L L X H/L X H 
L H H/L X H X 



Figura 6.24. Modos de fiincionamiento del circuito ALS646. 



Existen otros niveles de complejidad en circuitos transmisores-receptores tipo AS865 que son 
universales y programables. Su estructura interna incluye cada vez mas flinciones de logica secuencial 
por lo que no los vamos a comentar aqui. Conviene recordar finalmente que el proposito pedagogico a 
lo largo de todo el texto es ilustrar primero la necesidad de una fiincion y los procedimientos de 
sintesis de sus versiones mas elementales y pasar despues a conectar con circuitos reales y de uso 
frecuente, tal como los describen las casas comerciales. 

6.5. Problemas ^*^ 

Hemos visto en este tema la segunda parte de las ftinciones combinacionales. Las encargadas de 
controlar el trafico de datos e instrucciones en un sistema digital. Las dos funciones basicas son la 
convergencia de datos (pasar de A^ a 1) y la divergencia (pasar de 1 a A^. En ambos casos hay que 
abrir y cerrar puertas de forma selectiva y para ello necesitamos generar los terminos minimos de un 
conjunto de variables de control. Si el mayor niimero de lineas es A'^ (esten estas a la entrada o la 
salida), para su seleccion necesitamos n variables de control tales que 2^>N. 

Esta necesidad inherente a los circuitos multiplexores y demultiplexores hace que ambos se 
conviertan en excelentes modulos universales para la sintesis de funciones logicas arbitrarias. 

E.6.1. Disenar en dos niveles usando MUXde 4 entradas las siguientes funciones logicas. 
fi {X, Y, Z, U. V)=XY + XYZUV + UV{X + Y + Z) 

f2 {X, Y,Z, U, V) = XYZUV + XYZUV + XZ{U + V) 

E.6.2. Analizar el circuito de la figura obteniendo los terminos minimos que constituyen las 
funciones f3 yf4. 



(♦) 



La solucion de estos ejercicios se encuentra en el texto de problemas. 




f/u,v,z) 



f (x,y,u,v,z) 

4 



U V 



E.6.3. En lafigura 6.10 del desarrollo tedrico previa se ha realizado el diseno de un decodificador 
BCD (codigo 8421) a decimal. Hay otros codigos como el exceso-3 (obtenido sumando 3 a 
cada uno de los valores correspondientes) y el codigo Gray, en el que los numeros 
adyacentes solo difieren en el valor que toma uno de sus bits. La labia adjunta muestra la 
representacion de los digitos decimales en cada uno de estos ires codigos binarios. 

Disenar los circuitos que realizan las siguientes transformaciones: 

(a) Paso de exceso-3 a Decimal. 

(b) Paso de Gray a Decimal. 

(c) Paso de exceso-3 a Gray. 

(d) Paso de Decimal a BCD (8421). 

(e) Paso de Decimal a Gray. 

En el diseno deberdn cumplirse las siguientes limitaciones: 

1 °. Usar solo MUX, DEMUXy alguna puerta auxiliar, siempre que sea necesario. 

2°. Repetir los disenos suponiendo que se dispone no solo de circuitos MUXy DEMUXsino de 
cuantos circuitos decodiflcadores existen integrados en MSI. En este segundo caso se 
permite tambien el uso de alguna puerta auxiliar, siempre que sea imprescindible. 



Digito 
Decimal 


BCD 

(8421) 


BCD 
Exceso - 3 


Gray 





0000 


0011 


0000 


1 


0001 


0100 


0001 


2 


0010 


0101 


0011 


3 


0011 


Olio 


0010 


4 


0100 


0111 


Olio 


5 


0101 


1000 


0111 


6 


Olio 


1001 


0101 


7 


0111 


1010 


0100 


8 


1000 


1011 


1100 


9 


1001 


1100 


1101 



E.6.4. 



1. 

2. 



En el ejercicio incluido en el desarrollo tedrico para ilustrar la conversion BCD a 7 
segmentos solo se ha desarroUado el cdlculo correspondiente a los segmentos "a" y "c". 
Desarrollar aqui los correspondientes a los segmentos "b", "d", "e" y "f par dos caminos: 

Usando demultiplexores 3 a 8. 

Usando puertas HAND, tras minimizar las expresiones correspondientes. 

Usar como punto de partida la tabla de la figura 6.11. 



^^^^ 



Preparacion de la Evaluacion 



Objetivos 



1: Multiplexos 

2: Demultiplexos 

3: Buffers-drivers y Bus-transceivers 



1. Multiplexos 

1.1. Comentar la relacion existente entre la obtencion de la expresion logica de lafuncion de salida 
de un MUX y las formas canonicas de representacion de funciones logicas estudiadas en el 
tema 1. ^Quefuncion adicional incorpora la serial de facilitacion/inhibicidn? . 

1.2. Sintetizar un MUXde 4 a 1 y otro de 8 a 1 usando puertas AND, OR y NOT. 

1.3. iComo podria construir un MUXde cualquier tamano interconectando varios MUXde 4 a 1 en 
forma de drbol?. Ilustre el procedimiento disenando un MUX de 16 a 1 usando solo como 
modulo bdsico el MUXde 4 a 1. 

(Le aconsejamos revisar los problemas E.6.2 y E.6.3. del texto de problemas si encuentra 
dificultades para contestar a estas cuestiones de evaluacion) 

1.4. Ya hemos comentado que una de las posibles aplicaciones de los MUX es su uso en la sintesis 
de funciones combinacionales arbitrarias porque incluyen en su estructura la generacion de 
todos los terminos minimos. Asi, basta con seleccionar los necesarios y sumarlos. 

Veamos si ha comprendido este uso sintetizando las siguientes funciones: 



fl =xy + uvxyz + uv\x + y-\-z) 
fl = xyzuv+ xyzuv + xz{u + v) 



a) Con circuitos MUXde 4 a 1. 



b) Con circuitos MUX de 8 a 1 . 

2. Demultiplexos 

2.1. ^Que elementos de un multiplexo comparte un Demultiplexo? . 

2.2. Construir un DEMUXde 1 a 4 con AND, OR y NOT 

2.3. Explicar la idea de drbol demultiplexor. ^Como podria disenar un demultiplexo de 1 a 32 a 
partir de un demultiplexo de 1 a 4 y cuatro demultiplexos de 1 a 8?. Intente describir de forma 
algoritmica el procedimiento general de diseno. 

2.4. Como recordard del estudio de este tema: "Los terminos decodificador y su complementario 
(codificador) hacen referenda a unafuncion mas general de circuitos convertidores de codigo. 
Estos circuitos reciben n lineas de entrada y producen m lineas de salida pudiendo ser n mayor 
o menor que m. En general, uno de los extremos es una palabra en binario puro o en decimal 
codificado en binario (BCD, Binary-Coded-Decimal) y en el otro estd la representacion 
decimal o un visualizador de siete segmentos, por ejemplo ". 

En elproblema E.6.4 se desarrollan un conjunto de ejemplos. ^Podria integrarlos proponiendo 
un circuito que, dependiendo del valor de una variable de control C, actuara como convertidor 
exceso-3 a decimal (C=l) 6 Gray a decimal (C=0) 

2.5. En el ejercicio E.6.5. del texto de problemas se desarrollan los cdlculos para la conversion 
BCD a 7-segmentos usando DEMUX de 3 a 8 y en el caso concreto de los segmentos "a " y 
"g". ^Podria obtener ahora los correspondientes a los segmentos "b" y "c"?. 

2.6. Ademds de los circuitos SN74147 hay otras opciones de circuitos codificadores de prioridad 
tales como la SN74148 y SN74348. La primera codifica ocho lineas de datos a tres lineas 
binarias (4-2-1) octal) y permite la conexion en cascada para expandir sin necesidad de otros 
circuitos externos, usando solo las lineas EI (enable input) y EO (enable output). Por otro lado 
el SN74348 posee las mismas facilidades pero con salidas de tres estados. 

El circuito de lafigura corresponde al SN74148y se usa en procesos de conversion de codigo 
y generadores. Trabaja en logica negativa (lineas activas en baja). Analice el circuito 
comprobando que efectivamente genera codigo binario octal. (Obtener las expresiones de Aq, 
Al A2). 




Obtenga tambien las expresiones logicas de las lineas EOy GS (bit de prioridad). 

iQuefuncion realizan las lineas de facilitacion de entrada (enable input, EI) y facilitacion de 
salida (enable output, EO) en la conexion de varios de estos circuitos para permitir la 



expansion octal? Para facilitar el trabajo incluimos la tabla de verdad y el esquema de 
conexion para la expansion. 









Tabla funcional 














Entradas 


Salidas \ 


El 





1 


2 3 4 5 6 7 


A2 


Al 


AO 


GS 


EO 1 


H 


X 


X 


X X X X X X 


H 


H 


H 


H 


H 


L 


H 


H 


H H H H H H 


H 


H 


H 


H 


L 


L 


X 


X 


X X X X X L 


L 


L 


L 


L 


H 


L 


X 


X 


X X X X L H 


L 


L 


H 


L 


H 


L 


X 


X 


X X X L H H 


L 


H 


L 


L 


H 


L 


X 


X 


X X L H H H 


L 


H 


H 


L 


H 


L 


X 


X 


X L H H H H 


H 


L 


L 


L 


H 


L 


X 


X 


L H H H H H 


H 


L 


H 


L 


H 


L 


X 


L 


H H H H H H 


H 


H 


L 


L 


H 


L 


L 


H 


H H H H H H 


H 


H 


H 


L 


H 



012345678 



8 9 10 11 12 13 14 15 



666666rtrtrt 



1 2 3 4 5 6 7 
SN74148/LS148 



EO 

—rr 



AO 



Al 



A2 



EI 



GS 



666cb(S(S (ScS6 



12 3 4 5 6 
SN74148/LS148 



EO AO 



Al 



A2 



7 EI 



GS 



Y 



"D" 



"TT 



Q 




TT 



SN7408/LS08 




Enable 
(activa en 
baja) 



12 3 

Dato codificado 
(activa en baja) 



Flag de prioridad 
(activa en baja) 



3. Buffers-Drivers y Bus-Transceiver 

3.1. Enumere lasfunciones bdsicas de los amplificadores digitalesyde los transmisores-receptores 
de bus. 

3.2. Sabemos como funcionan los drivers de tres estados para logica positiva. ^Podria pasar el 
sencillo ejemplo de lafigura a logica negativa?. 




6 E 



Solucion 

Para el circuito del enunciado y teniendo en cuenta que trabaja en logica positiva la tabla de 
verdad es: 



E 


E]—E Eg— E 


Y 





1 

1 


Do 
Di 



Ahora tenemos que disefiar un circuito que realice la misma funcion, pero que trabaje con 
logica negativa. Es decir, siendo activas las Hneas de facilitacion {E,, Eq) cuando estan en baja. Asi, 
cuando E=0, como la salida debe ser Do , el buffer que debe dejar pasar la seiial es el que controla Eg. 
es decir Eo= ya que estamos trabajando con logica negativa. Como la salida se debe de interpretar 
tambien en logica negativa, a la salida tendremos el complemento de la entrada del buffer que 
controla Eq, Dg . Ademas, el buffer que controla E,, debe presentar alta impedancia y quedar 
desconectado. En cambio, cuando £■ = 7, el buffer controlado por ^odebera presentar alta impedancia 
(desconectado) y ser ahora la sefial controlada por Ej la que pase a la salida, D, . 



Como el drivers opera con logica negativa, la orden de facilitacion se pasa por nn inversor antes 
de entrar al buffer. Ademas, si no deseamos la inversion que realiza el driver con la entrada, podemos 
afiadir un inversor. Asi, el circuito y la tabla de verdad es: 




E 


E,=E Eo=E 


Y 


Y 




1 


1 
1 


Do 
D, 


Do 
D, 



3.3. El esquema de la figura corresponde a un transmisor receptor de bus octal bidireccional con 
salidas de tres estados. Estd pensado para gestionar la transmision bidireccional asincrona 
entre buses de datos. El circuito facilita la transmision del bus A al bus B o del bus B al bus A 

dependiendo del valor logico de la variable de control (DIR). La entrada de facilitacion [Gj 

se puede usar para inhibir el circuito de forma que los buses A y B queden efectivamente 
aislados, de acuerdo con la siguiente tabla: 





Control de la 




Facilitacion 


direccion de 
transmision 


Operacion 


L 


L 


Datos pasan deBaA 


L 


H 


Datos pasan deAaB 


H 


X 


Aislamiento 



a) Explique sufuncionamiento y compruebe la tabla de verdad. 

b) Suponga, para facilitar el dibujo, que solo nos quedamos con el control y con un bit. 
^Como podria usar este modulo para resolver los problemas de gestion de comunicacion 
vistos en los ejercicios incluidos en el tema?. 





SN74LS245 




n™ ^'^ i I 


r 




N /- 


„- 






DIR 1 • 


-=. 


V- 




/ 






(19) 




y 




V 


J" I 




















J (2) i 




^ 










Al 1 < 










^ 






(18) 




















. (3) 1 




^ 






A2 1 • 










^ 






(17) 






^ 














. (4) ! 




^ 






/ijj 1 < 


























^ 




(16) 




















(5) 1 




^ 






A4 1 ' 


























c^ 




(15) 




















(6) 1 




^ 






As I ' 










^ 






(14) 




















(7) 1 




^ 






Ae 1 ' 










^ 






(13) 










» 










(8) 1 




^ 






A? 1 ' 










^ 






(12) 




















(9) 1 




4^ 








As 1 ' 


























c^ 




(11) 













Bl 



B2 



Bs 



B4 



Bs 



B6 



B? 



Bs 



3.4. Memos visto en los ejercicios induidos en el tema el diseno de un circuito para el control del 
acceso a un bus de cuatro fuentes de serial Do, D,, D2 y D3. ^Podria resolver ahora elproblema 
complementario. Es decir, disenar un circuito para la gestion de toma de datos de un bus por 
cuatro receptores D3, D2, D,, Do con prioridad (D3 > D2> D,> Do) de forma que cuando un 
receptor quiere tomar el dato del bus le envia una serial de requerimiento (R3, R2, Ri, Ro) que 
sirve para abrir el camino de sus drivers de tres estados. Si mas de un receptor quiere tomar 



datos del bus en un mismo intervalo de tiempo se usa el criterio de prioridad mencionado. Le 
sugerimos un esquema inicial como el de la figure adjunta 



Fuentes de Datos 

D3 



Bus 



D, 



D, 



D„ 



V V V 



D2 



D, 



Do 



Re Rj R2 R3 
Gesti6n del Acceso 




3.5. ^Podria integrar las dos tareas de enviar y recibir en un icnico circuito gestor de las 
comunicaciones con un bus de tal manera que cada uno de los dispositivos D3, D2, D,, Do, 
pudiera actuar como emisor, enviando su serial al bus y receptor, tomando la serial del bus?. 
Considere la posibilidad de usar dos tipos de sefiales complementarias: 

a) R3, R2, R/, Ropara cuando desea enviar serial. 

b) S3, S2, Si, So para cuando desea recibir serial. 

Le sugerimos reflexionar sobre el circuito del tipo SN74245 que hemos incluido en el ejercicio 
de preparacion de la evaluacion 3.3. 



^^^^^ 



Ya hemos comentado en la componente tutorial de otros temas que las soluciones que aqui se 
estudian (tecnologia integrada en media escala) son en la actualidad componentes reutilizables de una 
libreria de motivos a partir de la cual se diseiian otros circuitos de mayor complejidad. Todo el 
contenido de los temas 5 y 6 tiene, esencialmente, propositos pedagogicos y es muy aconsejable que 
el alumno entre a navegar en los sitios de la red de las distintas casas comerciales para conseguir un 
conocimiento mas completo y practice del repertorio real que se ofrece en la actualidad en las 
distintas tecnologias para el diseno de funciones aritmetico-logicas y de ruta de datos 
fhttp.V/www.fairchildsemi.com, .ibm.com, st.com, onsemi.com) 

Los alumnos que esten cursando a la vez asignaturas sobre Estructura y Tecnologia de 
Computadores tienen una magnifica ocasion para hacer mas comprehensivo su conocimiento. Aqui 
ban visto la orientacion hacia circuitos y alii ven la orientacion hacia la integracion de los circuitos en 
una estructura global mas amplia. Aqui hablamos de transferir de forma asincrona senales del bus A al 
B o viceversa. Alii estudiaran la organizacion por buses y veran como estos circuitos (drivers y 
transceivers) se usan, por ejemplo, para enlazar buses de datos, para conectar con los registros de 
datos y/o direcciones de memoria, etc. Es decir, el uso especifico, integrado en un plan global, de 
todos los circuitos de operaciones aritmetico-logicas y de trafico controlado de datos, direcciones e 
instrucciones. Aqui no nos preocupa que un conjunto de senales binarias vayan a ser interpretadas 
mas tarde como datos, direcciones, instrucciones o seilales de control en un procesador. Para nosotros 
son sefiales logicas con dos valores de tension, que se combinan de acuerdo con las leyes propias del 
Algebra de Boole para generar otras senales de la misma naturaleza. 



Referencias Bibliograficas 



1. Breeding, K.J.: "Digital Systems Fundamentals". Prentice Hall, 1992. 

2. Texas Instruments. "The TTL Data Booie\ 1987. 



I 




Logics Combinacional Programable 



4 CONTEXTO 

En los temas 5 y 6 hemos vis to como se pueden disenar circuitos logicos (sumadores, ALUs, 
MUX, DEMUX, etc.) de forma modular y estructurada a partir de puertas AND, OR y NOT en dos 
niveles. Partiamos del valor de un conjunto de variables y sus negadas, obteniamos los productos 
necesarios y despues los sumdbamos para obtener las funciones de salida. Tanto la funcion de los 
modulos de partida como el esquema de conexiones estaban totalmente especificados. 

Este procedimiento es recursivo. Es decir, si ya tenemos disenados y disponibles en tecnologia 
integrada esos modulos intermedios (integracion en media escala, MSI), ahora podemos usarlos para 
disenar funciones logicas de mayor complejidad (usando multiplexos para conectar ALUs con 
circuitos de memoria y/o buses, etc..) pero, de nuevo, la funcion de esos modulos mas complejos 
(integracion en gran escala, LSI y muy gran escala, VLSI) estd totalmente especificada. Asi ha 
evolucionado esta linea de diseno hasta conseguir integrar un gran numero de funciones en un unico 
circuito estdndar de gran complejidad y uso masivo, como por ejemplo un microprocesador, pero con 
muy poca a ninguna posibilidad de cambiar su estructura fisica (la conectividad de sus circuitos) de 



acuerdo con las exigencias del usuario. La clave de esta linea de diseno es el cardcter absolutamente 
general del circuito desarrollado (el microprocesador), lo que permite su fabricacion en gran escala 
y a muy bajo coste. Cualquier cambio de aplicacion debe realizarse a traves de la programacion 
convencional, en general en un lenguaje de alto nivel, y lejos de la electronica digital. 

Existe otra linea asociada a necesidades de diseno que por flexibilidad, especificidad y 
propiedad del producto busca soluciones de "proposito especial". Para estos casos las soluciones son 
1) de diseno completo 6 2) de diseno parcial, sabre estructuras flexibles. El diseno completo 
("custom") ofrece considerables ventajas en terminos de tamano y precio de las unidades finales pero 
posee las desventajas asociadas al tiempo y al presupuesto del desarrollo. Se consigue disminuir el 
coste estandarizando los procesos de desarrollo y produccion. Obtenemos asi circuitos a la medida 
de las necesidades del cliente pero respetando ciertas limitaciones ("semi-custom ") en lo referente a 
los modulos de partida ("arrays de puertas" o "celulas estandard") y al propio proceso de 
fabricacion. 

Finalmente, existen aplicaciones en las que la confidencia del diseno y el tiempo de desarrollo 
son variables esenciales. Cuando la velocidad de paso al mercado es esencial, la solucion es el 
diseno sobre estructuras flexibles. El campo que cubren es el de "circuitos integrados de aplicaciones 
especificas " (ASIC -Application Specific Integrated Circuits) y la tecnologia es la de redes de puertas 
programables FPGA, (Field Programable Gate Array), con memorias RAM estdticas para programar 
las conexiones. 

Estos circuitos de logica programable de ultima generacion combinan los beneficios del diseno 

VLSI completo, a la demanda del usuario, con las ventajas de diseno, produccion y velocidad de paso 

al mercado de los productos estdndar. Los disenadores definen las funciones logicas que desean, las 

realizan en logica programable, las evaluan en su entorno real y pueden refinar el diseno en horas, 

/rente a las semanas necesarias en las soluciones "custom" y semi-custom". 

Para las fiinciones de complejidad equivalente a varios circuitos MSI, la solucion mas eficiente 
es la PLD (Dispositivos Logicos Programables) basados en matrices de circuitos AND, seguidas de 
matrices de circuitos OR, organizadas en una arquitectura plana y con conectividad programable. Su 
estudio es el objetivo de este tema. Las soluciones CPLD y FPGA mas complejas, que incluyen 
fiinciones secuenciales, mucha mayor densidad de integracion, memorias empotradas, etc., serdn 
estudiadas posteriormente (tema 13) 



Conviene observar como ambas filosofias de diseno se complementan y se mezclan. En efecto, en 
el desarrollo de los circuitos logicos programables se introducen constantemente nuevas 
posibilidades de programacion de forma que tambien se tiende hacia unos pocos tipos de circuitos 
bdsicos genericos y programables, donde un mismo circuito puede realizar una amplia variedad de 
funciones dando lugar a una gran diversidad de implementaciones especificas (personalizadas) y 
competitivas en terminos de tiempo de desarrollo, consumo, tamano, forma, confidencia del diseno y 
capacidad de reprogramacion. La unica restriccion importante es la limitada capacidad 
computacional de los modulos de partida. Sin embargo, la rdpida evolucion de la tecnologia hace 
prever soluciones hibridas cada vez mas potentes, con PLDs que incluyen memorias y modulos de 
proceso para reprogramar sus conexiones, y con potentes entornos software para facilitar el paso 
desde las especificaciones funcionales hasta el circuito final que las implementa. 

-^^ CONOCIMIENTO PREVIO NECESARIO 

Vamos a estudiar la logica programable en dos temas: 



Tema 7: Logica Combinacional Programable (PLDs) 
Tema 13: Logica Secuencial Programable (CPLDs y FPGAs) 



La razon de distinguir estos dos contenidos es clara. Para estudiar los PLDs solo necesitamos lo 
queya hemos visto en los temas previos. En cambio, para estudiar la Logica Secuencial Programable 
(los CPLDs, Complex Programable Logic Devices y los FPGAs, Field Programable Gate Arrays) 
necesitamos conocer los biestables, los circuitos secuenciales bdsicos, (contadores, registros) las 
memorias RAM y EEPROM, etc. Por eso la dejamos para mas tarde. Asi pues, los conocimientos 
previos necesarios para el tema 7 se encuentran en los temas 1, 5 y 6, que ya hemos visto con la 
salvedad del uso cualitativo del concepto de biestable, necesario para describir las macroceldas. 

-♦--♦-^ Objetivos del Tema 

Dentro de la logica combinacional programable, y bajo el nombre generico de PLDs, existen 
distintas arquitecturas: 

> PROM (Programable Read Only Memory) 



> PAL (Programable Array Logic) 

> FLA (Programable Logic Array). 

Las diferencias se encuentran en el grado de programabilidad de cada una de ellas y en la parte 
de lafuncion en la que se asienta esa programabilidad. 

El objetivo general de este tema es comprender la alternativa de diseno logico que suponen las 
PLDs. Sus objetivos mas concretos son los siguientes: 

Objetivo 1: Conocer la estructura interna de las memorias de solo lectura (ROM, PROM, 
EPROM, EEPROM y FLASH). Saber como pueden usarse para distintos tipos de 
aplicaciones. 

Objetivo 2: Conocer las arquitecturas PAL y FLA y saber las usar en el diseno en logica 
combinacional. 

■¥-^-¥-¥ GUIA DE ESTUDIO 

Al contrario que en los dos temas anteriores, el conocimiento propio de este tema se encuentra 
muy disperso y no hay mucho acuerdo entre los distintos fabricantes sobre nomenclatura. Ademds, el 
campo de las PLDs es muy activo y estd enfase de transformacion continua. Por eso, en general, no 
entraremos en las ofertas especificas de los distintos fabricantes, sino que haremos enfasis en los 
aspectos conceptuales bdsicos, compartidos por toda la tecnologia de las PLDs, con la esperanza de 
que en la posterior actividad profesional del alumno pueda comprender los datos de catdlogo y las 
innovaciones que, con seguridad, se irdn introduciendo. 

Hay un problema en el caso de los PLDs mas avanzados y es que incluyen en su estructura 
interna pequenos proces adores y registros y otros circuitos que son propios de la logica secuencial y, 
por consiguiente, de acuerdo con el plan general de este texto no deberian presentarse hasta despues 
de los temas 9y 10. Por eso, aqui se hard una referenda muy superficial e intuitiva a estasfunciones. 



^^^ 



Contenido del Tema 



7.1. Procesamiento Digital de la Informacion 

La logica programable busca una estructura modular y general que nos permita obtener cualquier 
funcion logica a traves de la programacion electrica o funcional del esquema de conexion de esos 
modulos. El modelo formal subyacente a todos los PLDs (programable logic devices) procede de la 
representacion en forma normal disyuntiva de la funcion multiple que enlaza n variables de entrada 
con m variables de salida. Asi, si tenemos los terminos minimos de n variables de entrada, podremos 
obtener en paralelo cualquiera de las m funciones de salida con tal que seamos capaces de 
"programar" a nivel de circuitos las matrices de conexion adecuadas. 

Veamos este origen de las PLDs pensando sobre un modelo sencillo de dos funciones {yo, yi) de 
dos variables {xq, xf). 

Recordemos que la forma normal disyuntiva representa todas las funciones logicas como sumas 
de productos. Asi, para dos variables (xi.xq), tenemos cuatro terminos minimos 
[xiXq,XiXo,xiXq,XjXo) y cada una de las 16 posibles funciones de dos variables (fo,fi,f2, ■■-.fis) se 

obtiene sumando los terminos minimos correspondientes a las coordenadas en alta del vector logico 
que codifica el subindice de la funcion: 



(0^ 




fo^ 




^o^ 




^^1 




(l^ 






. // = 






. /2 = 




1 


• f3- 




1 


. ■■■• fl5 = 


1 
1 


[oj 




b) 




[o\ 




[h 




w 



fo = 



[7.1] 

Evidentemente, con 2 variables tenemos 4 terminos minimos y con 4 terminos minimos podemos 
obtener 16 funciones logicas diferentes que son las que se muestran en la tabla de lafigura 7.1. 



as 


«2 


«; 


ao 


/ 




























Xi Xo 













Xl Xg 












Xi 





1 








Xj Xg 





1 







Xo 





1 







X,®Xg 





1 






Xl + Xo 















Xg X, 


X,®Xg 












Xo 











Xg + Xl 




1 








X, 




1 







X, + Xo 




1 







X, +Xg 




1 






1 



Figura 7.1. Tabla que representa las 16 fiinciones logicas de dos variables, en flincion del valor de los 
coeficientes {uq, ..., a^) de su representacion por minterms. 

Asi pues, si queremos tener una funcion universal de 2 variables, {xi.xq), empezariamos 
mvirtiendolas para obtener xi y xo ■ Despues construiriamos los cuatro terminos producto 

\xiXq,XiX(),xixq ,XjXo) y, fmalmente, controlariamos el paso de cada uno de estos terminos minimos 

a un sumador bajo el control del valor de las coordenadas del vector logico que especifica cada una de 
las 16 funciones concretas, tal como se muestra en \a figura 7.2. 

Si quisieramos obtener mas de una funcion a la vez (funcion multiple fg, fj, por ejemplo), 
tendriamos que aiiadir otra puerta OR a la salida y los correspondientes circuitos de control a partir de 
los mismos termmos minimos, tal como se muestra en \a figura 7.3. 




ao aj 02 as 



Figura 7.2. Funcion logica universal de dos variables. Cambiando el valor de los cuatro terminos de control 
{ao, .... flj) recorremos las 16 flinciones posibles. 

Para duplicar el numero de funciones que comparten un mismo conjunto de terminos minimos 
hemos duplicado los vectores de control (ag. a,, a2, a^). Ahora cada nueva puerta OR tiene acceso a 
todos los terminos producto (filas) pero necesita una columna de conmutadores programables para 
controlar cuales son, de hecho, los terminos que, en un determinado patron de configuracion, 
participan en su funcion. Asi pues, la generalizacion de este procedimiento de sintesis se obtiene con 
dos matrices de conexiones programables. Una matriz AND que se encarga de generar los 2" terminos 
mimmos de las n variables de entrada {xo, ..., x„) y otra matriz OR que se encarga de permitimos 
agrupar de una forma comoda cualquier subconjunto de esos 2" terminos minimos para generar 



2« 
cualquiera de las 2 funciones logicas diferentes de esas n variables de entrada. Asi aparece la 

estructura general de toda la logica combinacional programable que es la que se muestra en 

[afigura 7.4, a la que hemos anadido una etapa inicial de amplificadores digitales (buffers). 




Figura 7.3. Uso de los mismos terminos minimos para obtener a la vez dos fiinciones universales de 2 
variables {fo.fi)- 



Buffers e 
Inver sores 



X] Xq 



Matriz de 

Conexiones (Array) 

AND 



Elementos 
AND 



r-y- 



mo 
ntj 

m , 

2"-4r 






Matriz de 

Conexiones (Array) 

OR 



H Jt 



fo fl fi fs 



Elementos 
OR 



Figura 7.4. Estmctura general de la logica programable (PLDs) con las dos matrices (AND y OR) de 
conexiones programables y las dos ristras de elementos AND y OR. 

Hay tres arquitecturas basicas de PLDs: la PROM ("Programable Read Only Memory"), la PAL 
("Programable Array Logic") y la PLA ("Programable Logic Array"). Las tres comparten el esquema 
general de la figura 7.4, con buffers e inversores para adaptar la impedancia de entrada y para generar 
las negaciones de todas las variables de entrada. Despues se generan los terminos productos y, 
finalmente, a traves de la matriz OR se posibilita la participacion de esos terminos producto en cada 



una de las m Hneas de salida. Las diferencias basicas entre estas tres arquitecturas PLDs (PROMs 
PALs y PLAs) estan en el caracter fijo o programable de cada una de estas matrices: 



Arquitectura 


Matriz AND 


Matriz OR 


PROM 
PAL 
PLA 


fija 
programable 
programable 


programable 

fija 
programable 



Asi, la arquitectura PROM tiene todos los terminos minimos (se usen o no) y solo es 
programable la parte OR, por lo que se pueden obtener tantas funciones de salida como lineas OR 
tenga la PROM. En cambio la arquitectura PAL deja fija la parte OR, limitando el niimero de lineas 
AND que pasan a ser sumadas. Finalmente la arquitectura PLA es la mas general pues deja 
programables los terminos minimos y los coeficientes de las sumas. Cada una de estas arquitecturas 
encuentra un repertorio de aplicaciones para las que es mas idonea. 

La evolucion tecnologica de las distintas arquitecturas en logica combinacional programable esta 
asociada a los distintos procedimientos usados para programar y reprogramar (en su caso) los distintos 
nudos (conmutadores de cruce de filas y columnas) que definen la conectividad efectiva en las 
matrices AND y OR y, por consiguiente, la funcionalidad especifica del PLD. 

Las primeras PROM se programaban por mascaras partiendo de una matriz de diodos y 
fundiendo las conexiones no deseadas (figura 7. 5. a). Los diodos pueden sustituirse por cualquier otro 
dispositivo unidireccional, tal como un transistor bipolar (figura 7.5.b) o un transistor de efecto 
campo (figura 7.5.c). En todos los casos el objetivo es controlar cuando un enlace esta presente y 
cuando no lo esta. Sin embargo, en este tipo de programacion por "fusible", las alteraciones 
producidas son irreversibles. Es decir, los PLD's de esta primera generacion, no pueden volverse a 
programar. 

La siguiente etapa fue conseguir que la programacion no destruyera nada, de forma que 
pudieramos borrar una determinada configuracion y reprogramar el circuito. Para la sintesis de 
EPROM's (Erasable-PROM), se utilizan estructuras MOS (tipo FAMOS, por ejemplo), en las que la 
programacion se realiza electricamente situando un paquete de carga en el nudo de enlace que es un 



transistor MOS, y el borrado puede ser electrico (EEPROM) o mediante radiacion ultravioleta. En 
ambos casos se elimina la carga almacenada en una capacidad local pero no se destruye la estructura. 



Xo 




(a) 



U 



N /^ 



ii 



/ \ T / \ 



V 




(b) 



(c) 



Figura 7.5. Distintas formas de sintetizar la programacion del nudo de enlace entre filas y columnas en las 
matrices AND y OR. 

Como consecuencia de la explosion combinatoria (2" lineas para n variables) los dibujos de los 
circuitos PLDs se complican mucho. Por eso se usa un criterio simplificador para representar las 
conexiones fijas o permanentes, las programables intactas y las programables fundidas. La figura 7.6 
resume este criterio de representacion. La interseccion de dos lineas marcadas con un punto 
representa una conexion permanente, que no admite programacion. Sea cual fuere el procedimiento 
usado para establecer o eliminar un enlace, cuando la conexion programable esta intacta se representa 
por un aspa y cuando es programable y esta fundida se representa por el cruce ortonormal de las lineas 



de filas y colunmas correspondientes. Observese que decir que una conexion esta intacta significa que 
el enlace ha sido hecho efectivo y, por consiguiente, hay conexion entre las variables que representan 
la fila y columna correspondientes. En cambio, decir que hemos fundido el enlace significa que, no se 
ha establecido la conexion tras el proceso de programacion. Obviamente, cuando se pasa de 
programacion por fusibles a programacion electrica y, mas tarde, a programacion funcional a partir 
del estado de una celda de memoria, mantenemos el criterio de representacion haciendo siempre 
referenda al estado funcional de las conexiones, en general, funcion del tiempo. 



Conexion Permanente 



Conexion Programable 
Intacta 



k. 



■>f 



Conexion Programable 
Fundida 



-^^ = 



Figura 7.6. Representacion del estado funcional de las conexiones en PLDs 

La segunda necesidad de simplificacion de la representacion en PLDs se refiere a las puertas 
AND y OR con entradas multiples. Ahora, en vez de usar 2" lineas de entrada [xq.^oixj,^!;..] a 
cada una de las puertas AND y 2" lineas de entrada (terminos minimos mq, mi, ...) a cada una de las 
puertas OR, se dibuja solo una linea de entrada a cada puerta (AND o OR) y sobre esta linea se sitiian 
los simbolos correspondientes al estado funcional de las distintas conexiones despues del proceso de 
programacion. "La figura 7. 7 muestra este criterio de representacion y lo ilustra con algunos ejemplos. 
Cuando el aspa se introduce dentro del simbolo AND significa que todos los terminos de entrada 
estan conectados (tienen sus fusibles intactos) y el termino producto resultante es cero. Es decir, este 
termino puede ser ignorado en la suma de productos que constituye la salida. Cuando todos los 
fusibles se ban fundido, no hay conexion y el resultado es un uno. Analogamente ocurre para las 
puertas OR. Un aspa en el interior del simbolo representa que todos los fusibles estan intactos y la 
suma es 1. Inversamente, cuando todas las conexiones a un elemento OR estan abiertas (fusibles 
fundidos) la salida es cero. 



:i89 



Puerta AND con entrada multiple 



A- 
A- 
Bj 
B- 



f(A,B) 



A A B B 



^r^v^M3 



f(A,B) 



Ejemplos 
A H B B 



\IZ0 



Se especifica el estado fiincional de la conexion 
A ~A B J 

— 1> «i — 



f=AB 



A A B B 



A A B B 



^HI>^° ■ 



IxM 



= AABB=0 



A A B B 



U^ 



A A B B 



f=AB 



Puerta OR con entrada multiple (terminos producto, mft m], m2. mj) 

mo mi m2 ms 

f(mo,...,m3) 




i(mo>-,^s) ^ )^ () C)^ C)^ J ^ 



Ejemplos 

mo mi m2 mj 



-r>^' 



Se especifica el estado fiincional de la conexion 
mo mi m2 ms 

f= mo+m2 



^> 



mo mi m2 mj 



^e-^e^^^e-£>-^ 



mo mi m2 mj 



f=mo+mi+...=l 



mo mi m2 ms 



mo mi m2 ms 



-E> 



f=0 



-^f 



-^^ 



£>^ 



= mo+m2 



Figura 7. 7. Representacion de puertas con entradas multiples en PLDs. 



Ejercicio: Representar con el criteria de representacion de PLDs resumido en las figuras 7.6 y 7.7 
el circuito de lafigura 7.2 con ao= as=l y aj- a2=0 

Solucion: 

\xi \Xo 



Figura 7.8. 



mo) — 5|t 

'Hi 
mi 



fo = »«»+ Wj 



Ejercicio: Repetir el ejercicio anterior para el circuito de la figura 7.3 
ao = a'j =7, af = af = 0, a'o ^ a^ = 1, aj =a2=0. 



con 



Solucion 



X] \Xo 



mo 



fo= mo+m, fi= nto+mj 



Figura 7.9. 



7.2. Memorias prom, EPROM, EEPROM y FLASH 

Bajo el nombre generico de PROMs englobamos toda la familia de circuitos de memona no 
volatil: ROM, PROM, EPROM, EEPROM y FLASH. El ongen de todos estos crcmtos esta en las 
memorias ROM no volatiles y de solo lectura que ya venian programadas de fabrica para realizar 
funciones multiples tales como convertidores de codigo, generadores de caracteres, almacenamiento 
de tablas de datos y almacenamiento de programas. Su limitacion fundamental estaba en que una vez 
programada la memoria ya no podia modificarse el programa. 

Aparece entonces la necesidad de las PROM que, como hemes visto anteriormente, son PLDs en 
los que la parte AND es fija y completa, estando asi accesibles todos los termmos minimos de las n 
variables de entrada, y la parte OR es programable. Ahora es el usuario quien puede programar la 
PROM, por ejemplo, para almacenar el programa de control de una lavadora o de una maquina 
herramienta de acuerdo con sus propios algoritmos. Al final de un desarrollo sobre funciones 
electromcas de mstmmentacion o control, reducimos los algoritmos a un programa y este lo grabamos 
en una PROM, con lo que hemos convertido una arquitectura general en un diseno de proposito 
especial en el que la parte mas genuina del conocimiento esta en la EPROM que nosotros hemos 
grabado. 

L^figura 7.10 muestra la arquitectura de una PROM de tres entradas {xq, xi, X2) y cuatro salidas 
(foJlj2j3). Observese que, al disponer de todos los termmos minimos de tres variables, {mo 
mi, ..., mj) para obtener nuevas funciones de salida (/,, fs, ...) solo necesitamos ailadir nuevas p'uertas 
OR. Es decir, nuevas columnas a la matriz OR. Un inconveniente de las PROM es la necesidad de 
duphcar la complejidad de la parte fija AND cada vez que queramos airadir una nueva variable de 
entrada (x^, X4,...). El otro inconveniente de las PROMs es que no son reprogramables y, por 
consiguiente, no admiten errores. 

Asi, el siguiente paso en la evolucion de las memorias no volatiles PROM fue conseguir que 
fueran reprogramables. Esto exige que podamos borrar primero el programa que ya tenia almacenado 
la matriz de conexiones sin destruir la estructura. 

Dependiendo del mecanismo usado para borrar tenemos dos nuevos tipos de memorias no 
volatiles: EPROM y EEPROM (6 E2PR0M). 



Las EPROM (Erasable PROM) se borran usando luz ultravioleta y se programan electricamente y 
las EEPROM (Electrically Erasable PROM) se borran y se graban electricamente, por lo que pueden 
realizarse ambos procesos sin necesidad de extraer el circuito de memoria del resto de los circuitos 
que constituian la aplicacion. 



X2 



X] 



Xo 



Matriz AND 
Fija 



Elementos 
AND 



m2\- 



nts 






me 



mTY. 



Matriz OR 
Programable 




fo fi fi fs 



Elementos 
OR 



Figura 7.10. Esquema de una memoria PROM de tres variables de entrada {xq, xi, xj) y cuatro funciones 
programables de salida {Jq, fi, f2, fs). Cambiando la naturaleza tecnologica de las cruces de filas y 
columnas de la parte programable, este mismo esquema es valido para EPROM y EEPROM. 



Fmalmente, la complejidad de las celdas EEPROM Hmitaba (en tennmos relatives) el valor 
max^o de la densMad de mtegracion y, per consiguiente, la capacidad maxima de los circuitos En 
las memonas FLASH se resuelve este problema al mantener las caracteristicas de almacenamiento no 
volati y a posibiHdad de borrado y regrabacion electnca de las EEPROMs pero aumentando la 
densidad de mtegracion come consecuencia de usar celdas disenadas usando un umco transistor Esto 
les pennite competir eficazmente (como elemento de almacenamiento pennanente) con los discos 
magneticos o CDROMs en aplicaciones de computacion que solo demandan una capacidad limitada 
de memoria externa o secundaria. 

El esquema de X.fi^ra 7.11. resume la saga de las memonas ROMs en el contexto general de 
las memonas de semiconductores que mcluyen tambien a las otras memonas con celdas activas que 
estudiaremos mas tarde, dentro de los circmtos secuenciales (DRAM, SRAM, CAM FIFO y LIFO) 




ROM 

De solo Lectura 
No Programables 



No Volatiles 

Retiene la informacion 

indefinidamente 

(pasivas) 



VoUtiles 

Pierden la informacion al 
desconectar la fuente 
Usa circuitos activos 
(biestables) 



PROM 

Programables en su 

topologia, per 

mascara 




Figura 7.11. Clasificacion de los circuitos de 



memona. 



Observese que en la elaboracion de este arbol de clasificacion se han usado varies criterios: 

1. Sus funcionalidades. 

2. La volatilidad de los datos. 

3. La forma de direccionamiento. 

4. El mecanismo fisico soporte. 

En cuanto a su funcionalidad las memorias se clasifican en "de solo lectura" (ROM y PROM) y 
"de lectura y escritura". A su vez, dentro de estas ultimas hay que distinguir entre las no volatiles y las 
volatiles, haciendo referencia al tiempo durante el cual son capaces de retener la informacion 
almacenada cuando se corta la alimentacion. Todas las memorias que hemos visto en este apartado 
(EPROM, EEPROM y FLASH) son de naturaleza no volatil. En cambio, todas las que estudiaremos 
en logica secuencial (RAM estaticas y dinamicas, FIFO, etc) son volatiles porque los elementos de 
almacenamiento (las "celdas") son circuitos activos, biestables, que necesitan la polarizacion (la 
fuente de alimentacion) para mantener su estado logico. 

El siguiente criterio de clasificacion usado tiene que ver con el direccionamiento, es decir, con el 
mecanismo mediante el cual se accede al contenido de una celda de memoria. Hay dos formas basicas 
de acceso, el secuencial y el aleatorio (Random Access Memory) e historicamente se ha asociado el 
acceso aleatorio con las memorias volatiles construidas con biestables (SRAM). Sin embargo, todas 
las memorias no volatiles tipo EPROM o FLASH son tambien de acceso aleatorio. Es decir, cuesta el 
mismo tiempo acceder a cualquiera de sus direcciones, independientemente del orden y/o contenido 
de esa direccion. 

7.3. Transistores de Puerta Flotante (FAMOS) y Mecanismos 
de borrado 

El ultimo criterio de distincion dentro del grupo de las memorias no volatiles con posibilidad de 
lectura y escritura es el mecanismo fisico soporte de los distintos procesos electronicos asociados al 
almacenamiento permanente, la programacion y el borrado de la memoria. 

La arquitectura de todas las memorias no volatiles es esencialmente analoga a la de las ROM y 
PROM y esta formada por una matriz de transistores situados en los puntos de cruce de las lineas de 
palabra con las lineas de bit de forma que la programacion de la memoria se realiza facilitando o 



inhibiendo de forma selectiva cada uno de esos transistores. La diferencia esencial aqui es que este 
proceso se tiene que realizar electricamente y tiene que ser reversible. Para ello utiliza un transistor 
MOS con una estructura especial que incluye una puerta flotante donde se almacena un paquete de 
carga representativo del estado funcional del nodo. Asi, el cero se representa por un paquete de carga 
negativa y el uno por un nivel de carga muy inferior. A nivel de comportamiento extemo esta carga 
almacenada en la puerta flotante se manifiesta en un incremento en la tension umbral del transistor de 
forma que ahora, cuando el umbral esta alto el transistor no conduce y cuando el umbral baja a su 
valor normal el transistor de puerta flotante se comporta como cualquier otro MOS, conduciendo 
entre fuente y drenador de acuerdo con el valor de la tension aplicada en la puerta externa. 

La figura 7.12 muestra el esquema de un corte transversal de la estructura fisica de un transistor 
de puerta flotante. Este dispositivo fue propuesto por Kahng y Sze en 1967, y consiste en una 
modificacion en el electrodo de puerta incorporandole otra capa fina de aislante entre la puerta 
externa y el canal, de forma que queda otra puerta flotando muy cerca del semiconductor para permitir 
el transporte de carga cuando se aplica una tension externa relativamente alta al electrodo de puerta, 
generando un proceso de inyeccion de carga por avalancha desde el sustrato. Esta carga almacenada 
es la responsable del incremento del umbral y permanece durante muchos afios. Para eliminarla (para 
borrar la memoria) se usa distintos procedimientos, que son los que distinguen las EPROM 
(ultravioleta) de las EEPROM y las FLASH (tensiones electricas de signo opuesto al de las de 
propagacion). 

La idea de puerta flotante se desarrollo en dos grupos de dispositivos: 

1. Los FAMOS (Floating-gate Avalanche injection MOS memory) 

2. Las estructuras MIOS (Metal Insulator Oxide Semiconductors). 

De ellas, ha sido la FAMOS (Frohman y Bentchkomsky, 1970) la que ha mostrado un mayor 
desarrollo al combinar la puerta flotante de silicio policristalino con el mecanismo de inyeccion por 
avalancha de electrones desde la union P+N para potenciales del orden de 20 V. La carga transferida 
es funcion de la amplitud y duracion del pulso de programacion. Una vez que desaparece este 
potencial no existe ninguna via de descarga para los electrones pues la puerta esta rodeada de oxido 
de silicio (Si02) que es un excelente aislante. 

Es decir, la avalancha en P+N genera pares electron-hueco en la zona de transicion. Los 
electrones pasan por efecto tiinel a la puerta flotante y alii quedan. Los huecos caminan hacia el 



sustrato y contribuyen a la creacion de una capa de inversion entre drenador y fuente en las 
proximidades de la superficie. A este efecto contribuye tambien un mecanismo de induccion. La carga 
negativa en la puerta flotante induce carga positiva en la superficie. 



(a) 



Fuente, S 



Puerta 
Flotante 



Si02 



P+ 



Si tipo N 



FAMOS cargado 
AVg = -10 V 

MOS 

Vg = -10K 




T 



Drenador , D 






FAMOS sin carga 



f^ 



Al 



HI 



J 

h 




n 



Conductancia del Canal 

(mhos) 




Figura 7.12. Estnictura FAMOS y SAMOS. (a) Concepto de puerta flotante en FAMOS, de acuerdo con la 
propuesta inicial de Kahng y Sze. Modificacion de Lizuka. Valores de g/j (b) y AVt(c). 

La cantidad de carga transferida a la puerta es funcion de la amplitud y duracion del potencial 
aplicado a la union P+N y se puede medir a traves de la medida del cambio en la conductividad del 
canal superficial. Recordemos que la conductancia del canal, gD ,venia dada por la expresion del tipo: 



g^=--//,C„,(Fc-F,), V^>V, 



canal P 



[7.2] 



La carga negativa de la puerta ha producido un cambio en Vt de valor: 



' C„ ' [7-3] 



AV,= ^^ 



por lo que se ha producido tambien un cambio en g^. La parte (b) de \afigura 7.12 muestra las curvas 
{Id. Vd) y las variaciones de go para un MOS normal y para una estructura FAMOS con carga y sin 
carga en la puerta aislada. La parte (c) muestra a variacion de go con Vq y el valor de AFj- entre los 
estados"0"y"l". 

7.3.1. Borrado de EPROMs 

Para que la estructura FAMOS pueda cumplir funciones de memoria es necesario que podamos 
borrarlas (eliminar la carga almacenada en las puertas flotantes). Como no hay puertas extemas, este 
borrado no puede ser por procedimientos electricos. Asi, las EPROM se borran iluminando el circuito 
con luz ultravioleta. Esta radiacion hace que el oxido sea ligeramente conductor debido a la 
generacion de pares electron-hueco en el material. Este proceso puede llevar varios minutos frente a 
los pocos microsegundos que son necesarios para la grabacion. 

Otro problema es la degradacion de la estructura que limita el niimero maximo de veces que 
puede borrarse y reprogramarse la memoria. Finalmente, tambien un gran inconveniente es el hecho 
de que para borrar la EPROM tengamos que quitarla del sistema en el que esta integrada y llevarla a 
un programador extemo para programarla. 

Las ventajas sin embargo estan en la sencillez de las celdas EPROM lo que permite su 
fabricacion con alta densidad de integracion y bajo coste, lo que las hace adecuadas para aquellas 
aplicaciones que necesitan gran cantidad de memoria pero que no requieren una reprogramacion 
excesivamente frecuente. 

7.3.2. Borrado de las EEPROMs 

Para conseguir borrar electricamente las PROMs tenemos que incluir un electrodo extemo y un 
mecanismo que permita eliminar la carga de las puertas aisladas sin necesidad de desconectar la 
memoria del resto del sistema. 



Historicamente esto se consiguio con las estructuras SAMOS (Staked-gate Avalanche-injection 
MOS) propuestas por Lizuka en 1976 e ilustradas en lafigura 7.10. Esta estructura posee un doble 
nivel de puertas de silicic policristalino de forma que la puerta externa (llamada de control) permite el 
borrado electrico. Tras la inyeccion por avalancha, las cargas negativas se almacenan en la puerta 
flotante causando el cambio en el valor de la tension umbral, Vr, del MOS (estado "1 "). Despues, 
aplicando una tension positiva grande a la puerta externa, la carga almacenada se elimina y el MOS 
vuelve al estado "0". 



Control de Puerta 

(2° nivel de Si policristalino) 



Si02 



Puerta Flotante 

(]er nivel de Si policristalino) 
D(Vd) 



K 



< d 



F+ 



a 



_L 



(a) 



Al 






40 - 



P+ 



Si tipo N 



(b) 



d|= I6O0A 
d2= I6O0A 



Vd = 40 V 




80 



(V) 



Figura 7.13. (a) Estructura SAMOS con doble puerta para permitir el borrado electrico. (b) Variacion del 
umbral (forma cualitativa) en funcion del potencial en la puerta de control para distintos valores de 
la tension de drenador. 

La parte b de \a figura 7.13 muestra las caracteristicas de escritura en SAMOS. Para una 
determinada tension de drenador, Vj aumenta con Vq porque esta tension en la puerta externa ayuda 
al transporte de los electrones, generados por avalancha desde el silicio hasta la puerta flotante, igual 
que en FAMOS. Sin embargo, a partir de un cierto valor de Vg, al seguir aumentando hace que Vj 
disminuya porque el transporte de corriente desde la puerta flotante a la puerta externa hace que 
disminuya la carga almacenada. 

Hay otras estructuras, como la FLOTOX (FLOating-gate Tunneling Oxide) que tambien permiten 
el borrrado electrico de las EEPROMs (Jonson, 1980). Tal como se ilustra en el esquema del corte 



979 



transversal de lafigura 7.14, la FLOTOX es muy parecida a la FAMOS solo que se ha modificado la 
parte del dielectrico que separa la puerta flotante del canal en las proximidades del terminal de 
drenador, haciendolo mas estrecho (menos de 10 nm). Asi, cuando se aplica una tension del orden de 
10 voltios, el gran campo electrico que se produce sobre esta parte delgada del aislante hace que los 
electrones puedan pasar a la puerta flotante en ambos sentidos por un mecanismo de efecto tiinel, 
dando lugar a las caracteristicas tension-corriente de la union tiinel que se muestra en la parte (b) de la 
figura 7.14. Y este proceso es reversible. Para borrar la memoria basta con invertir el signo del 
potencial usado para escribir. 



/▲ 



D(Vb) 




-10 V 




10 V vgd 



WL 



(c) 






Vdd 



ri 



Figura 7.14. (a) Estructura FLOTOX programable por efecto tunel. (b) Caracteristicas tension corriente, donde 
se observa que no conduce entre -10 y +10 voltios y que se comporta despues como un diodo en 
directa. (c) Celda EEPROM tal como se configura durante la operacion de lectura. 

Como en el resto de los transistores de puerta flotante, la inyeccion de electrones aumenta el 
umbral Vj mientras que la extraccion lo disminuye. Sin embargo, el valor final del umbral, tras 
extraer o inyectar electrones, dependera del estado inicial de carga de la puerta flotante por lo que 
aparece un problema de control del umbral que se resuelve afiadiendo un nuevo transistor que actiia 
como dispositivo de acceso durante la operacion de lectura, mientras que el transistor FLOTOX actua 



como elemento de almacenamiento. Esto hace que las EEPROMs tengan celdas mas complicadas que 
las EPROMs porque el transistor FAMOS hacia a la vez ambas funciones, la programacion y el 
almacenamiento. La ventaja de las EEPROMs esta en su versatilidad y en la posibilidad de ser 
borradas y reprogramadas muchas mas veces que las EPROM y sin sacar el circuito de la placa. 

7.3.3. Borrado de las memorias FLASH 

Las memorias FLASH EPROM combinan la densidad de integracion propia de los transistores 
FAMOS (EPROM) y la versatilidad de las EEPROMs porque integran los dos mecanismos basicos de 
inyeccion y extraccion de carga en la puerta flotante. Asi, en general, usan el mecanismo de inyeccion 
por avalancha para la programacion de los distintos MOS y el mecanismo de efecto tunel para borrar 
la memoria. Asi, la estructura fisica de una memoria flash es muy parecida a la de los transistores 
FAMOS solo que ahora la capa de oxido que separa la puerta flotante del canal es muy delgada 
(lOnm) para facilitar el efecto tunel. Ademas, se usan areas diferentes de la puerta para la 
programacion y el borrado. Para programar la celda se aplican 12 voltios a la Vcy Vjj, con Vs = 0. 
Para borrar, se pone VQ=0yVs=12 voltios (figura 7.15). 




Figura 7.15. Memoria FLASH, (a) Programacioa (b) Borrado 

Una caracteristica distintiva de las memorias FLASH es que el borrado se realiza a la vez sobre 
toda la memoria o por bloques. Ademas, estas incluyen circuitos adicionales a los de grabacion y 



borrado que tienen como finalidad monitorizar el valor de los umbrales durante el borrado para ajustar 
dinamicamente el tiempo de borrado y reducir al minimo la necesidad de senales extemas para su 
acoplo a microprocesadores. Este tipo de diseno que incluye en el "chip" los circuitos de 
monitorizacion de umbrales en el proceso de borrado solo es practico cuando se borran de una vez 
subsecciones importantes de la memoria. La tabla de \2^figura 7.16 compara algunas caracteristicas de 
las memorias no volatiles reprogramables. De su consideracion parece evidente la ventaja de las 
EEPROM tipo flash por su alta capacidad de almacenamiento (como las EPROMs), la posibilidad de 
lectura-escritura en la placa en la que esta integrada (como las EEPROMs) y por su velocidad y coste. 
En particular, para aquellas aplicaciones que, junto a las funcionalidades anteriores, exijan una alta 
flexibilidad. Es decir, un valor alto para el numero maximo de ciclos de lectura-escntura sin 
degradacion de los umbrales. 



FLASH 

Alta(lt/c) 

> 16Mbit 

Bajo (50 ns) 

Muy bajo (<4 s) 

Muy bajo (<5 |as) 

Si 
103-105 




♦ Densidad 

♦ Tamano 

♦ Tiempos de Acceso 

♦ Tiempo de Borrado 

♦ Tiempo de Programacion 

♦ Reprogramable dentro del 

Sistema 

♦ Flexibilidad 

(N° de ciclos de lectura/escritura 
sin degradacion) 



Alta (1 transistor/celda) 

> 16Mbit 

Bajo (60ns) 

Medio (minutos) 

Muy bajo (<5 us) 

No 
100 



Media (mas de It/c) 

>. 1Mbit 

Medio (120 ns) 



Alto (« 4 s /circuito) 
Si 

105 



Figura.7.16. Tabla de caracteristicas de los distintos tipo de memorias no volatiles con posibilidad de 
lectura/escritura (adaptada a partir de la de J.M. Rabaey, 1996). 



7.4. Organizacion Interna y Ejemplos de EEPROM y FLASH. 

Memos visto el concepto de PROM en el contexto de la logica combinacional programable y los 
distmtos tipos de memorias no volatiles con capacidad de lectura y reprogramacion junto con los 
mecanismos fisicos que hacen posible esa reprogramacion electrica (transistores FAMOS). Ahora 
vamos a ver la organizacion interna adicional a la matriz de transistores y la descripcion funcional, 



externa, de algunos circuitos comerciales concretes. No son importantes los ejemplos en si, sino su 
capacidad para ilustrar los contenidos usuales en las hojas de datos de los distintos fabricantes. 

Empecemos con la estructura interna. Todos los circuitos EPROM, EEPROM y FLASH 
incluyen, junto a la matriz de celdas, otras facilidades adicionales para controlar el proceso de lectura 
del estado logico de esas celdas y su reprogramacion fuera o dentro del sistema digital en el que 
operan. Asi, son necesarios: 

> Circuitos para direccionar las celdas en las que se desea actuar. 

> Circuitos para controlar la seleccion de "chip" y la ejecucion del proceso que se desea realizar 
en la celda seleccionada en ese "chip". 

> Un conjunto de amplificadores digitales ("buffers") y registros para adaptar las seiiales de 
entrada y salida en sus conexiones al bus. 

> Otros circuitos especiales en el caso de las EEPROM FLASH. 

7.4.1. EPROMs 

En la figura 7.17 se muestra un resumen de datos de catalogo de la PROM borrable mediante 
radiacion ultravioleta TMS27C64. Es una EPROM de caracter comercial, perteneciente a la familia 
27, es borrable, la tecnologia es CMOS y la densidad es de 64K organizada en 8K palabras de 8 bits. 
Se alimenta a 5 voltios y todos sus terminales son compatibles con los niveles de tension e 
impedancias de la familia TTL. Su tiempo de acceso es del orden de 100«5, esta preparada para una 
programacion rapida mediante impulsos, posee buffers de tres estados para facilitar la conexion de sus 
salidas a sistemas orgamzados por "buses" y su inmunidad al ruido en continua para cargas TTL es 
de AOOmvoltios. 

Esta EPROM admite siete modos de operacion de acuerdo con la tabla incluida en \a figura 7.18. 
Cuando las salidas de dos o mas de estos circuitos estan conectadas en paralelo sobre el mismo bus, se 
puede seleccionar la PROM que queremos leer sin interferir con el resto, poniendo en baja los 

terminales E y G (circuito seleccionado). A la vez, el resto de los circuitos deben estar inhibidos, 
con sefiales en alta aplicadas a uno de estos terminales. 

En la tabla de modos de programacion de la memoria no incluimos un modo adicional llamado de 
"firma", que proporciona el acceso a la informacion que identifica al fabricante y al tipo de circuito. 
Este modo se activa cuando Ag se conecta a 12 voltios. 



Aom. 



Al 
A2 
A3 



(9) 



(8) 



(7) 



A4 M. 
A3 S^ 



(3) 



(25) 



(24) 



A6^ 

A? 

As 

A9 
AJO 
All 
A 2^ 

I'm 



(21) 



(23) 



fc 



G PHIn^ 



EPROM 8192 X 8 







yA 



8191 



Ay 

Ay 

AV 

Ay 
Ay 

Ay 

AV 
AV 



12^ 

(PWR DW R) 



EN 



(13) 

ilZI 

ii9i: 



2/ 
Si 

e^ 

Q6 
Q7 

Qs 




GND \Z 



E_ Facilitacion del circuito 

G Facilitacion de la salida 

PGM Modo de programacion 

QrQs Salidas 

Ag-Ai2 Entradas de direccion 

Vcc Tensi6n de Alimentacion (5V) 

Vpp Tension de Alimentacion de programacion ( 1 2- 1 3 V) 

NC No conectar 

GND Tierra 



Figura 7.17. Simbolo logico y significado de los terminales de la memoria EPROM, TMS27C64. 



FUNCION 


MODOS \ 


Lectura 


Salida 


Standby 


Programacion 


Verijicacion 


Inhibicion del 






Inhibida 








Prog ram a 


E 


ViL 


ViL 


VlH 


ViL 


ViL 


VlH 


G 


ViL 


VlH 


X 


VlH 


ViL 


X 1 


PGM 


VlH 


VlH 


X 


ViL 


VlH 


X 


Vpp 


Vcc 


Vcc 


Vcc 


Vpp 


Vpp 


Vpp 


Vcc 


Vcc 


Vcc 


Vcc 


Vcc 


Vcc 


Vcc 


Ag 


X 


X 


X 


X 


X 


X 


AO 


X 


X 


X 


X 


X 


X 


Qi-Qs 


Dout 


altaZ 


altaZ 


Din 


Dout 


altaZ 



Figura 7.18. Tabla de modos de programacion de la Memoria EPROM TMS27C64. 



Antes de programar la EPROM, debe borrarse por exposicion a luz ultravioleta. Asi nos 
aseguramos que todos los bits estan en alta ("1"). Los estados de baja ("0") se programan entonces en 
las posiciones deseadas, recorriendo todas las direcciones y todas las posiciones dentro de cada 
direccion. El tiempo de programacion es del orden de 1 segundo. 

Los datos se presentan en paralelo en los terminales {Qi, .... Qg). Una vez que la direccion en la 



que se va a grabar y los datos estan estables, se pulsa PGM . El programador, bajo este algoritmo, 
genera pulsos de 100 /zs y verifica que la palabra seleccionada ha sido grabada correctamente, es decir 
qye el contenido de memoria coincide con los 8 bits que estan en los terminales Qi, ..., Qg. Se esta en 
modo de programacion, de acuerdo con la tabla de la figura 7.18, cuando Vpp =13 voltios, 

Vcc = 6'5 volts, G = Vifiy E = Vjl- Cuando se han programado todas las direcciones, se comprueba 
el estado de todos los bits con Vcc - Vpp = Svoltios. 



7.4.2. EEPROM 

"La figura 7.19 muestra el diagrama logico de la EEPROM de 16 Kbits (2Kx8), M28C16A , 
organizada en 2K palabras de 8 bits, sobre la que vamos a ilustrar estos circuitos. Con ligeras 
modificaciones todas las EEPROMs poseen diagramas de bloques, terminales extemos y modos de 
programacion analogos. 



11 



AO-Am 



w 

£ 

c a 



Vcc 



M28C16A 
M28CI7A 



^^ 



DQ0-DQ7 



RB 



AO-AJO 


Entradas de direcciones 


DQ0-DQ7 Entrada/salidade datos 


W 


Facilitacion de escritura 


E 


Facilitacion del circuito 


G 


Facilitacion de las salidas 


RB 


Disponible/ocupada 


Vcc 


Tension de alimentacion 


Vss 


Tierra. 



fss 



Figura 7.19. (a) Diagrama logico de la EEPROM M28C16A de ST Microelectronics, (b) descripcion del 
significado de sus terminales 



Esta memoria posee un tiempo de acceso de 150«5 a 5 voltios y 25Qns a 3 voltios. Para operar 
solo necesita una fuente de uno de estos dos valores con tolerancias del 10%. El ciclo de escritura es 
de 5ns y se pueden realizar hasta 100.000 ciclos de borrado/escritura sin degradacion, garantizandose 
la permanencia de la informacion por mas de 40 anos. La. figura 7.20 muestra el diagrama de bloques 
de la estructura interna. 



E G W 

















i i i 


■\ 






Vpp 




Reset 4 




Logica de Control 


















t 








1 








ireccion de 
Pagina d 
A6-A10 


^ 


Biestable 

de 

Direcciones 




s 

1 

•3 
o 

Q 




Array de 64 K 












A0-A5 \Z 




Biestable 

de 

Direcciones 








"V 


\ / 


7 


















Decodificadorj' 




Biestable de Datos y 
de Sensor 




























Buffers entrada/salida 


J 






















<> 


J 



DQ0-DQ7 

Figura 7.20. Diagrama de bloques de la estructura interna de la EEPROM M28C16A 

Para direccionar las celdas de la EEPROM M28C16A hacen falta 1 1 bits (AO-AIO) de los cuales 
se gastan 5 para moverse dentro de la pagina y el resto para la seleccion de cada una de las paginas. 
Los terminales DQ0-DQ7 se usan para la entrada y salida de datos tras pasar por los amplificadores. 

El terminal E (chip enable) debe estar en baja para facilitar todas las operaciones de lectura/escritura 

y el G (output enable) controla los amplificadores de salida de datos y se usa para iniciar las 

operaciones de lectura. El terminal W (write enable) controla la escritura de datos y el RB 



(ready/Busy) es una salida en drenador abierto que puede usarse para detectar el final de un ciclo 
intemo de escritura. 

Cuando las senales de control E y G estan en baja y W esta en alta la EPROM opera en modo 
de lectura y los datos direccionados se presentan en los terminales de entrada/salida, DQ0-DQ7. En 

cambio, cuando bien G o E estan en alta, los terminales DQ0-DQ7 permanecen en estado de alta 
impedancia. 

Las operaciones de escritura se inician cuando W y E estan en baja los dos y a la vez G esta en 

alta. La direccion queda retenida en el registro en el flanco de bajada de E 6 W (el ultimo que se 

presente) y los datos quedan registrados en el flanco de subida de £ 6 de fF (el que primero se 
presente). 

La organizacion de la escritura por paginas permite que puedan registrarse en la memoria hasta 
32 palabras consecutivas antes de iniciar un ciclo de programacion. Todas estas palabras deben estar 
localizadas en la misma pagina. Es decir, A5-A10 debe ser el mismo para todas ellas. La tabla de la 

figura 7.21 resume los valores de E , G , W y DQ0-DQ7 correspondientes a los distintos modos de 
operacion de esta EEPROM**'. 



MODO 


E 


G 


w 


DQ0-DQ7 


Lectura 


ViL 


ViL 


ViH 


Salida de Datos 


Escritura 


ViL 


ViH 


ViL 


Entrada de Datos 


Standby/Inhibicion de Escritura 


ViH 


X 


X 


Altai 


Inhibicion de Escritura 


X 


X 


VlH 


Salida de Datos 6 Alta Z 


Inhibicion de Escritura 


X 


ViL 


X 


Salida de Datos 6 Alta Z 


Inhibicion de Lectura 


X 


VlH 


X 


AltaZ 



Figura 7.21. Tabla de valores de las variables de control de la EEPROM M28C16A durante los distintos 
modos de operacion (lectura, escritura). 



(•) 



Aconsejamos visitar la pagina web de ST (http://www.st.com) 



Finalmente, en \z figura 7.22 mostramos las formas de onda correspondientes a las lineas de 
direccion, datos y senales de control en el modo de lectura, junto con la descnpcion de los valores 
correspondientes a los distintos intervalos temporales. 



(a) 



AO-AIO 

E 

G 

DQ0-DQ7 



:x: 



data vdlido 



tAVQV 



tGLQV 



'ELQV 



yc 






tRHQZ 

///////// Ay///// 



GHQZ 



salida de data 



2:> 



AltaZ 



Simbolo 



tAVQV 



tELQV 



tGLQV 



tEHQZ 



Nomenclatura 
Alternativa 



Ucc 



tCE 



tOE 



tDF 



(b) 



tCHQZ 



tAXQX 



tDF 



tOH 



Pardmetro 



Direccion valida para 
Dato valido 



Circuito facilitado en 
baja para salida valida 



Salida facilitada en 
baja para salida valida 



Circuito facilitado en 
alta para salida en alta 
Impedancia 



Salida facilitada en alta 

para salida en alta 

Impedancia 



Transicion de la 

direccion para 

transicion de la salida 



Condicion de la 
Prueba 



M28C16A/ M28C17A 



-15 



Min Max 



E=ViL. G=ViL 



G=Vji 



E=Vji 



G=Vji 



E=VjL 



-20 



Min Max 



150 



150 



70 



E=ViL.G=ViL 



50 



50 



200 



200 



80 



60 



60 




Unidad 



ns 



ns 



Figura 7.22. (a) Forma de onda de los valores estacionarios y las transiciones de las distintas seiiales de control 
de la EEPROM durante una operacion de lectura. (b) Valores correspondientes de los distintos 
intervalos temporales 

Hemos mantenido en ingles la descripcion de los parametros porque los subindices de los 
simbolos correspondientes son los acrommos de la descnpcion en lenguaje natural del significado de 
los parametros. Asi, Uvqv es el intervalo de tiempo entre el momento en el que tenemos estables los 



bits de la direccion (direccion valida) y el momento en el que podemos considerar que tambien son 
estables y validos los datos de salida. Analogamente tELQV es el intervalo de tiempo entre el 
momento en que tenemos una direccion valida y el momento en el que en las lineas de 
datos iPQO- DQ7) tenemos los datos de salida con valores estabilizados y, por consiguiente, validos. 
En algunas casas comerciales se usa con frecuencia otra nomenclatura que es la que aparece en la 
columna paralela {tAVQV^^ACc)- 

Para representar el significado de las distintas formas de onda que describen los procesos de 
lectura y escritura en una memoria EEPROM se usa en general un criterio como el que se ilustra en la 
figura 7.23. Cuando aparecen dos lineas paralelas significa que el dato o la direccion que representan 
esta estable. Cuando hay lineas inclinadas bajando o subiendo de nivel significa que en ese intervalo 
temporal pueden haber cambio de alta a baja o de baja a alta. Cuando se superponen las lineas 
inclinadas descendentes y ascendentes es que no hay que preocuparse porque cualquier cambio esta 
permitido en las lineas de entrada. En cambio, este mismo simbolo sobre una linea de salida significa 
que esta esta cambiando y, por consiguiente, se desconoce su estado en ese intervalo. Finalmente, 
cuando hay una linea central en las salidas, significa que la puerta de tres estados correspondiente se 
encuentra en el estado de alta impedancia, desconectada funcionalmente del bus. 



Forma de Onda 


Significado en 
las Entradas 


Significado en 
las Salidas 




Deben ser estacionarias 


Valores estacionarios 
(salida valida) 






Pueden cambiar 
deHaL 


Estara cambiando 
deHaL 


WWW 


Pueden cambiar 
deLaH 


Estara cambiando 
deLaH 


////// 


Situacion iirelevante. 

Se permite cualquier 

cambio 


Cambiando. 
Estado no conocido 


xxxx w 


No se aplica 


Estado de alta impedancia 
(linea central) 


) > M ( ( 



Figura 7.23. Significado de las distintas formas de onda que se usan para representar la evolucion temporal de 
las lineas de datos y direcciones y las seiiales de control durante los procesos de lectura y 
grabacion de EEPROMs. 



7.4.3. FLASH 

La diferencia esencial en cuanto a organizacion interna entre las FLASH y las otras EEPROMs 
es que ahora se incluyen en el circuito (junto a las celdas de almacenamiento, el direccionamiento y 
los buffers de entrada y salida) un conjunto de circuitos adicionales para controlar mtemamente los 
programas de lectura y borrado por zonas a partir de un registro de "status" que contiene un conjunto 
de comandos considerados como mstrucciones de entrada a un procesador intemo (un automata 
fimto) que controla a los circuitos de borrado (global y por sectores) y programacion. Durante los 
ciclos de escntura se registran intemamente las direcciones y los datos necesanos para los programas 
de borrado y reprogramacion que consisten, de hecho, en la ejecucion de una secuencia de comandos. 

El circuito incluye tambien todas las transformaciones necesarias para obtener de una unica 
fuente externa de contmua todas las tensiones necesarias. Se consigue asi mtegrar en el circuito las 
soluciones a la complejidad adicional de estas memonas para descargar al procesador extemo, 
reduciendo al minimo las senales extemas de control y las exigencias de tiempo de CPU externa y 
facihtando el acoplo de la EEPROM FLASH a circuitos microprocesadores. 

El diagrama de bloques de la figura 7.24 muestra una version simplificada de la estructura 
interna de la memoria FLASH Am29F400T (de AMD) de 4 Megabits (524,288 x 8/262,144 x 16) 
CMOS a 5 voltios y posibilidad de borrado por sectores, con programas intemos de borrado y 
programacion. l.^ figura 7.25 muestra el simbolo logico y el sigmficado de la funcion realizada por 
sus terminales que, junto a los que ya conocemos {CE = E. OE = G yWE = W) incluye otros 
nuevos (RY/BY, RESET y BYTE). 

El terminal RY/BY se usa para mformar al procesador extemo si los programas intemos estan 
en curso o ban terminado. Si su salida esta en baja mdica que el dispositivo esta ocupado ("busy") en 
una operacion de borrado o reprogramacion. Si la salida esta en alta el dispositivo esta preparado para 
aceptar cualquier operacion nueva de lectura, escritura o borrado. El terminal RESET, cuando esta en 
baja durante mas de 500«^setea el procesador intemo y se ignoran los valores de la seiial RY /Jf . 
Finalmente, el terminal BYTE selecciona la configuracion de la memoria para 8 6 16 bits. 



WE- 



BYTE 
RESET ■ 



CE- 
DE- 



Buffer 
RY/BY 



RY/BY 



Control de 
Estado 

Registro de 
Comandos 



<^ 



^0-^7 71: 
A-1- 



Generador de 

Tensiones Intemas 

(temporizacion, 

borrado, ...) 



Logica de 
Control de Salida y 
Seleccion de circuito 



STB 



P 



Decodificador Y 



Decodificador X 



DQ0-DQ15 



Buffer 
Entrada/Salida 



A 



STB 



iz 



Lachde 
Datos 



V 



Puertas Y 



Matriz de Celdas 



Figura 7.24. Esquema simplificado de la estructura interna de la memoria FLASH de AMD, Am29F400T. 



A-1 



A0-A17 I 



CE(E) 

OE(G) 
WE(m 

RY/BV 
RESET 

BYTE 





Am29F400 


18/ K 


^^^ 






/-> 




/~> 





16 6 8, 



DQO-DQIS 



A-1.A0-A17 


Entradas de direcciones 


DQ0-DQ15 


Entrada/salida de datos 


WE 


Facilitacion de escritura 


CE 


Facilitacion del circuito 


OE 


Facilitacion de las salidas 


RY/BY 


Disponible/ocupada 


RESET 


Reset Hardware 


BYTE 


Seleccion de modo (8 bit 6 16 



Figura 7.25. Simbolo logico de la memoria FLASH de AMD, Am29F400T y significado de la funcion que 
realizan sus terminales. 



Hay ejemplos mas actuales^*^ como la memoria FLASH de bajo voltaje de ST, M59DR008E, de 
8Mbit (512Kb X 16, Dual Bank, Page) alimentada con Vdd entre l,65Fy 2,2Fpara programar, borrar 
y leer y con organizacion en bloques y lectura por paginas. Asi, cada bloque puede ser borrado y 
reprogramado sin afectar a los otros bloques. Este circuito acepta instrucciones para "leer/resetear", 
"escribir en el registro de configuracion", "programar", "borrar un bloque", "borrar un banco", 
"proteger un bloque", etc., escritas en la memoria a traves de una interfaz de comandos usando los 
cronogramas de escritura usuales en los microprocesadores. 

Ya hemos comentado en varias ocasiones que desde el punto de vista pedagogico no es realmente 
esencial el tipo de circuito comercial que seleccionamos para ilustrar la evolucion de la tecnologia y 
el contacto con la realidad. Es decir, la comprension y uso adecuado de las hojas de datos y las notas 
de aplicacion de las distintas casas comerciales. Ademas, cuanto mas activo es un sector (como es el 
caso de las EEPROMs de tipo FLASH) mas rapido seran los cambios en las ofertas de circuitos 
concretes, por lo que no puede pretenderse en un texto de esta naturaleza mas que "dar pistas" sobre 
prestaciones, funcionalidad y estructura interna de las memorias EEPROM. 

7.5. PALsyPLAs 

Hemos visto la arquitectura de las PROMs, con la matriz AND fija y la matriz OR programable, 
y sus aplicaciones en el diseno logico y como elemento de almacenamiento cuasi permanente de 
informacion, donde las soluciones electricamente reprogramables como las EEPROMs tipo FLASH 
les auguran un futuro prometedor. 

Sin embargo, pensando solo en su aplicacion como modulo universal de diseno en logica 
combinacional, la arquitectura PROM tiene algunos problemas ya que la parte AND genera todos los 
terminos minimos de n variables (2«) y para anadir una nueva variable hay que duplicar el tamaiio de 
la matriz. Ademas, en un niimero importante de situaciones de diseno muchos de esos terminos 
minimos no se usan. Por ejemplo, en aquellas situaciones en las que se quiere usar el mismo circuito 
programable para sintetizar funciones diferentes que necesitan una combinacion no preestablecida de 
variables de entrada y variables de salida, o cuando se desea diseiiar a la vez funciones 



En el momento de la redaccion de esta segimda edicion. 



combinacionales y secuenciales. En estas circunstancias es mejor disponer de un circuito que deje fija 
la parte OR y permita la programacion de la parte AND. Asi aparecieron los PAL (Programable 
Arrays Logic) en 1978 como un dispositive universal de diseno logico introducido por Monolitic 
Memories, integrada despues en AMD (Adevanced Micro Devices). La figura 7.26 muestra esta 
arquitectura para el caso sencillo de cuatro variables de entrada {xs, X2, xj, xq) y cuatro funciones de 
salida (f3,f2,fi,fo)- Observese que cada puerta OR solo puede sumar un cierto numero de terminos 
minimos (4 en el caso de la figura) lo que limita el repertorio de funciones posibles. Sin embargo, 
tiene la gran ventaja de no tener que duplicar el tamaiio de la matriz cada vez que se necesite una 
nueva variable de entrada. 

Hay circuitos PAL en tecnologias TTL y CMOS, programables por fusibles o electricamente, 
como las EEPROMs o las GAL (Generic Array Logic)^^\ y con distintas modificaciones de la 
arquitectura basica que incluyen la programacion de la funcion de los terminales de salida, la 
realimentacion y la adicion de macroceldas con multiplexes y biestables tambien programables. 
Globalmente, al incluir biestables D 6 J-K en las macroceldas de salida, las PAL pueden usarse tanto 
para diseno en logica combinacional como para diseno secuencial. Sin embargo nosotros 
estudiaremos aqui basicamente la parte combinacional, dejando para mas tarde (tema 13) la logica 
secuencial programable. La razon obvia es que antes de usar los biestables y los registros en logica 
programable, debemos estudiarlos de forma independiente. Sin embargo, la evolucion de la tecnologia 
electronica nos obliga a veces a usar una idea intuitiva de biestable y registro, antes de estudiarlos en 
profundidad, para poder entender el comportamiento de ciertos circuitos inicialmente 
combinacionales, como las PROMs y las PALs, pero que en sus versiones mas actuales ya incluyen 
elementos secuenciales. 

Si lo que buscamos en el disefio combinacional es un modelo universal versatil, la arquitectura 
mas plastica es la PLA (Programable Logic Array) en la que tanto la matriz de puertas AND como la 
de puertas OR son programables, tal como se muestra en la figura 7.27. Evidentemente, la 
contrapartida de la versatilidad es la complejidad y el coste del circuito resultante. Por consiguiente, 



Al igual que PAL fiie un nombre acunado inicialmente por Monolitic Memories y usado posteriormente de 
forma general, GAL es un nombre acuiiado inicialmente por Lattice Semiconductors y usado tambien mas 
tarde de forma general. 



las PLAs son recomendables en aquellas situaciones de diseno en las que sean justificables las 
facilidades de programacion que ofrecen. 



X3 X2 


Xi Xo 












M 


M 


Matriz OR fija 




j_ 


-\?A_ 














■ vV- 


1 — 










_L 




1 — 














1 — 














1 — 










■ 






1 












— ( 










■ 




— ( 


1 








; ^ — 


— < 










' 


x^ 












■ 




( 


1 






• 


^^'^ 












; 






( 


► 








x>- 




( 


• 










( 


1 


"' 




; 


><>- 












. 






1 


' — 






^ 














6) 






1 




1 

( 


■ r 


6J 






( 




Matriz 
Progra 


AND 
mable 




J 


1^ 

fl \ 


J 

f2 ^ 


~1 



Figura 7.26. Arquitectura de los circuitos programables PAL. 



Xn 



X] Xq 



Buffers e ^T ^^^ vy Y7 
Inversores J^ '" ^^ ^^ 



^Ht 



^Ht 



i^fr 



^Ht 



55-3( JHt 



^H5 JMt 



iH( >Ht 



^HS )E-Jt 



:He 



:He 



;Ht 



:(-3e 



^H« JHfr 



■5H« JHfr 



i5-:« y<r^<: 



^H6 5f-3e 



Matriz de 
Conexiones 
(Array) AND 



Elementos 
AND 



^ 



mTy 



tn 



r-3} 



m 



r-ij 



Matriz de 
Conexiones 
(Array) OR 



fo fi f2 fs 



Figura 7.27. Arquitectura de los circuitos PLA. 

Veamos con un ejemplo sencillo el uso de PLAs en disefio. 



Elementos 
OR 



Ejercicio: Supongamos que disponemos de una PLA 3*4*2. Es decir, una PLA con 3 lineas de 
entrada (xq, xj, X2), 4 productos ofunciones ANDy 2 lineas de salida (fo,fi) y queremos 
programarla para que implemente lasfunciones: 

fo{xo.x,,x^) = Y,m{3,5,6,7) 



f,{xo.x,,X2) = Y.m {0,2,4,6) 

Solucion 

Para implementar estas funciones lo primero que tenemos que hacer es simplificar las 
expresiones y minimizarlas. Asi, 

fo\Xo,X,,X2)-Y,fn{3,5,6,7)= X2 X,Xg +X2XlXg +X2X,Xo +X2X,Xg -XjXg+X2Xg +X2X1 

fi (^0 ' -^z ' ^2 ) = E m\p,2,4,6) = X2 xi xo + X2 x, xo + x^ xi Xo + Jc^ x, xo = xo 
Con lo que la PAL 3*4*2 programada seria la que se muestra en lafigura 7.28. 




Figura 7.28. Sintesis con una PAL 3*4*2 de las funciones /o(a:o, xj, X2)=I.m(3,5,6, 7),fj(xo, xj, X2)='Lm(0,2,4,6). 



7.6. CONFIGURACIONES DE SALIDA 

La parte de entrada de todos los circuitos PAL es esencialmente la misma y tambien se repite la 
componente central de su estructura interna (matriz AND programable y matriz OR fija). Sin 
embargo, hay distintos tipos de circuitos de salida que han ido complicandose para aumentar las 
funcionalidades de las PALs como elementos universales de diseno. Hay dos tipos de salidas: 
combinacionales y secuenciales y las versiones mas complejas de las secuenciales (macroceldas) 
incluyen a las combinacionales como caso particular. 

Las salidas combinacionales incluyen: 

1. La posibilidad de sumar los terminos minimos directamente o a traves de una puerta XOR para 
poder controlar \apolaridad (salidas activas en baja o en alta). 

2. La posibilidad de que algunas salidas puedan, cuando convenga, ser programadas tambien 
como entradas. 

3. La posibilidad de realimentacion. 

Las salidas secuenciales son de dos tipos: 

4. Bdsicas, con la inclusion de un circuito biestable para mantener el valor de la salida, retardarlo 
y realimentarlo cuando convenga. 

5. Macroceldas, donde se incluyen tambien biestables junto a multiplexos para hacer mas versatil 
la programacion de las rutas seguidas por los datos. 

L&figura 7.29 muestra los tipos basicos de la logica de salida de una PAL. En 7.29(a) se muestra 
el caso mas basico. Simplemente, la puerta OR suma las salidas de las puertas AND y hay despues un 
buffer de tres estados. El circuito que se muestra corresponde a la situacion de "salida activa en nivel 
bajo". Por eso aparece un buffer inversor. Ademas, como esta salida solo puede realizar funciones de 
salida, se usa el simbolo I > para representarla. Cuando una salida puede programarse para que 
opere como entrada se representa con el simbolo ^3, como en 7.29(.b). Aqui hay tambien 
posibilidad de realimentacion. Si el buffer de tres estados esta facilitado la salida puede realimentarse. 
Si esta en alta impedancia lo que se "realimenta" es la serial externa, actuando entonces el terminal de 
salida como entrada. La senal de control del buffer de tres estados es programable a nivel individual, 
para cada una de las salidas y debe ser programada de acuerdo con la funcionalidad deseada para ese 
terminal. Es decir, si el terminal va a reusarse como entrada, el buffer debe estar en alta impedancia. 



Si va a usarse como salida, el buffer debe estar facilitado y cuando se desee usar como entrada unas 
veces y como salida otras, el buffer debera estar programado en concordancia. Finalmente, en 7.29(c) 
se ha incluido una puerta XOR entre la OR que suma los terminos producto y el resto del circuito. 



Control 
Triestado 

de la 
matriz de 
puertas 
AND 




Salida 



Control 
Triestado 

de la 
matriz de. 
puertas 
AND 




(a) 



Control 
Triestado 

de la 

matriz de' 
puertas 
AND 



(b) 



5d 



Entrada/Salida 

E/S 




■i "Fusible Programable 



v: 



(c) 



X] 



22 

Entrada/Salida 
E/S 



c 


X 


Salida 














1 


1 


1 





1 


1 


1 






J 



Figura 29. Distintas posibilidades de salida combinacional de un circuito PAL. (a) Salida basica (activa en 
baja). (b) Salida (tambien activa en baja) con posibilidad de ser programada como entrada y con 
realimentacion. (c) Lo mismo que (b) pero incluyendo una puerta XOR para permitir programar la 
polaridad. 

Cuando la entrada programable esta en baja, la salida del XOR coincide con la salida de la puerta 
OR. En cambio, cuando esta en alta el XOR invierte la salida de la puerta OR. 

Todas las salidas secuenciales se basan en la inclusion de un biestable D^'^ entre la puerta OR y el 
resto de los circuitos de la salida combinacional (buffer y realimentacion), tal como se muestra en la 



Veremos en el tema siguiente este tipo de circuitos. 



figura 7.30. Hay tres aspectos a destacar en este circuito: 

1. La salida, Q(t), coincide con el valor de la entrada (su "estado") en el instante anterior, 
Q(t)=D(t-A t). Es decir, el biestable D es de hecho un retardo, lo que posibilita toda la logica 
secuencial y, por consiguiente, el uso de la PAL como modulo universal de diseiio de 
contadores, registros y automatas finitos en general. 

2. El circuito es sincrono. Es decir, todas las transiciones de datos desde DdiQy Q ocurren a las 
subidas o bajadas de un pulso de reloj que es comun a todas las salidas de la PAL. 

3. La seiial de control de los buffer es la misma para todas las lineas de salida. 



Control 
(facilitacion) 

De la matriz 
de puertas 
AND 




Control OE 
(facilitacion) 

De la matriz 
de puertas 
AND 




Salida 



Figura 7.30. Salidas de una PAL a traves de un biestable D (registed output), (a) Activa en baja. (b) Activa en 
alta. 



Finalmente, la configuracion de salida mas general es la macrocelda ("output logic macrocell, 
OLMC) que incluye un biestable D y dos multiplexos (uno de 4 a 1 y otro de 2 a 1) para permitir la 
programacion de la ruta de datos y obtener, como casos particulares, las configuraciones 
combinacionales y secuenciales descritas anteriormente. l^afigura 7.31 muestra el esquema de una 
macrocelda basica (PAL 22vl0). Como es facil comprobar, dependiendo del valor de las dos variables 
de control de los multiplexos {Sq y Sj) la macrocelda se proyecta en los cuatro casos que se describen 
en el tabla incluida en la Jigura 7.31. 





Configuracion de salida 



A traves del biestable D y activa en baja 

A traves del biestable D y activa en alta 

Combinacional y activa en baja 

Combinacional y activa en alta 



Figura 7.31. Esquema de una macrocelda de salida tipica de circuitos PAL, PALCE y GAL. Cyt=pulsos de reloj, 
RA = Reset asincrono, PS =Preset sincrono.. 



Asi, para So=\yS}=0 el multiplexo de 4 a 1 abre paso a la serial que precede directamente de 
la puerta OR, sin pasar por el biestable D, con lo que ignora la accion del biestable. Al mismo tiempo 
el multiplexo de 2 a 1 que esta en la via de realimentacion (Sj = 1) deja paso a la seiial que procede de 
la sahda del buffer, con lo que la macrocelda actiia como una configuracion de salida combinacional. 
En este caso con salida activa en baja. En cambio, si Si =0 y Sq =1 tendremos una configuracion 
secuencial activa en alta; es decir, a traves del biestable D (ya que el multiplexo de 4 a 1 deja pasar la 
salida Q del biestable D) y tomando la realimentacion de . De forma analoga obtendriamos las otras 
dos configuraciones (secuencial con salida activa en baja y combinacional con salida activa en alta). 
Para facilitar la visualizacion de la operacion de seleccion de entrada que realizan los circuitos 
multiplexores en su esquema hemos puesto las senales de entrada a la misma altura que las 
configuraciones que les facilitan el paso {D frente a 10 y ^ frente a 11, g frente a 00 y g frente a 
01), y lo mismo en el multiplexo de 2 a 1 que controla la realimentacion. 

El biestable que incluye la macrocelda realiza funciones de almacenamiento (retardo) de los 
datos y de sincronizacion. Para ello incluye una entrada de reloj {Ck), otra de reset asincrono (RA) y 
otra de preset sincrono (PS). Para inicializar la PAL, si PS esta en alta la salida Q se carga a alta en la 
siguiente transicion de baja a alta de los pulsos de reloj. Cuando AR esta en alta los biestables de 
salida se cargan a baja, independientemente de la situacion en la que se encuentren en ese momento 
los pulsos del reloj. Observese que estas lineas de control son terminos productos que proceden de la 
parte NAND de la PAL. 

7.7. NOMENCLATURA Y EJEMPLO DE CiRCUITOS PAL 

La evolucion de las PAL ha caminado paralela a la de las PROMs, pasando de la tecnologia 
bipolar y la programacion por fusibles a la tecnologia CMOS de bajo consume y alta densidad de 
integracion y el uso de celdas EEPROM borrables y reprogramables electricamente. Para marcar esa 
evolucion las distintas casas comerciales han acunado nombres diferentes para sus productos. Asi, 
AMD llama PALCE a las familias de sus circuitos PAL de alta velocidad y bajo consumo en 
tecnologia CMOS que son electricamente borrables (EEPROM). Al mismo tipo de circuito le llama 
GAL (Generic Array Logic) la compania Lattice Semiconductor. Ademas son directamente 
reemplazables para el mismo niimero de terminales. La figura 7.32 muestra la nomenclatura usada 



para la familia PALCE y lafigura 7.33, una version simplificada del esquema de la PALCE 22V10Z- 
25. 



PAL CE 22 



10 Z 



-25 



TIPOy FAMILIA 

PAL=Programmable Array Logic 
TECNOLOGIA 



CE= CMOS Electrically Erasable 
N° de ENTRADAS de la MATRIZ 

TIPOdeSALIDA 

V= Versatile 

N°deSALIDAS 

CONSUMO 



Z=Zero Power (15 nA ICC standby) 
VELOCIDAD 

-25=25 ns tpo 



TIPOdeENCAPSULADO 

P = 24 pin 300-mil plastic SKINNYDIP 
J =28-pin plastic leaded chip carrier 

CONDICIONES DE OPERACI6n - 

I = Industrial (-40»C a +85°C) 
C = Comercial (0°C a +75°C) 



Figura 7.32. Nomenclatura usada para la familia PALCE 




Figura 7.33. Version simplificada del esquema de la PALCE 22V10Z-25. 



Al haber estudiado previamente la estructura interna de las macroceldas y la funcion que realizan 
las senales de control {reset asincrono, preset sincrono y reloj), este circuito no es mas que la 
repeticion del esquema basico para cada una de las salidas OR. Observese que las senales AR y SP 
proceden de terminos productos en la matriz AND. 

7.8. Problemas 

Hemos introducido en este tema la logica combinacional programable (PROM's, PLA's y PAL's), 
con lo que ya tenemos a nivel de diseno combinacional funciones logicas universales en forma de 
sumas de terminos minimos que resumen las facilidades de los multiplexes, demultiplexes y 
decodificadores que estudiamos en el tema anterior. Por consiguiente podriamos repetir aqui todos los 
circuitos propuestos desde el comienzo del texto (ejemplos arbitrarios del tema primero, funciones 
aritmetico-logicas del tema quinto y funciones de ruta de datos del tema sexto). 

Haremos una seleccion de este conjunto de ejercicios posibles recordando que la norma general 
de seleccion entre PROM, PAL y PLA es disponer de "todo la necesario" y dejar sin usar "lo menos 
posible". Asi, en situaciones de diseno que exigen funciones dependientes de muchas variables de 
entrada y pocas funciones de salida, es aconsejable usar PROM's. En cambio, para situaciones de 
diseno con pocas variables de entrada y muchas salidas, es conveniente usar PAL. Finalmente, 
conviene recordar que lo que vamos a proponer son ejercicios en el sentido academico del termino. 

E.7.L Sintetizar las siguientes funciones: 

fl{X,Y.Z) = {xY + X-Y)-Z + z\x-Y + X-Y) 

f^{XYZ) = X + YZ + Z-X 

MXYZ)= X Y + Y -Z + X -Y -Z + X -Y ■ Z + X Y ■ Z 

f,{XJ.Z) = (x + Y + z)+(x + Y + z)+X -Y ■ Z + X -Y -Z 

E.7.2. Sintetizar de la forma mas "economica", usando PROM, PAL 6 PLA, el sumador complete 
de un bit cuyas entradas son Ai, Biy Qy las salidas son Sfy Q+j. 

Sintetizar a continuacion el sumador paralelo para palabras de cuatro bits. Hay 
ahora nueve entradas (B3, B2, Bj, Bg; ^j, A2, A}^ Aq ;Co ) y debe producir cinco 



E.7.3. 

E.7.4. 
E.7.5. 



salidas (S3, S2. Sj, Sq; C4). 

Sintetizar de la forma mas "economica", usando ROM, PAL 6 PLA un circuito comparador 
para cuatro bits con salidas C(An>Bn) y E(An=Bn). 

Sintetizar un circuito sumador-restador para palabras de tres bits. 

Sintetizar una "mini" unidad aritmetico-logica con solo cuatro funciones para palabras de 
dos bits (Aq, Ai; Bq, Bj). Necesitard por tanto dos variables de control (Sq, Si) y una 

adicional para la seleccion de modo (M=0 ^ operacion aritmetica y M= 1 ^ operacion 
logica). 

Tenemos entonces un circuito combinacional con siete variables de entrada (arrastre;Ao, 
Aj; Bo, Bj; Sq, Sj, M) y dos variables de salida (Fq, Fj) que dependiendo del valor de M 
representardn las funciones aritmeticas 6 logicas que se muestran en la tabla adjunta 



SELECCION 


FUNCIONES 
LOGICAS 


FUNCIONES 
ARITMETICAS 




Si So 


M=l 


M=0 







Fo=AB 


Fq = AB plus A 




1 


Fj =A+B 


F]=(A+B) 




1 


F2 =AB + AB 


F2=A plus B 




1 1 


F3=AB + AB 


F3 =A minus B minus 1 





EJ.l. 



E.7.6. Disenar un circuito que sintetice lafuncion: 

f(X,Y.Z,U,V) = XYZUV + XYZUV + XYZUV + XYZUV + XYZUV + XYZUV 
Disenar los siguientes circuitos convertidores de codigo. 

a) 4 a 4, BCD a Exceso-3. 

b) 4 a 10, BCD a decimal. 

c) Decimal a BCD. 



Preparacion de la Evaluacion 



Objetivos i 

1 : Modelo formal subyacente a las PLDs 
2: PROMs. EEPROMs y FLASH 
3: PALs (GALs) y PLAs 



1. Modelo formal subyacente a las PLDs 

1.1. Hemos visto al comienzo del tema como la representacion de una funcion logica en forma 
normal disyuntiva (como suma de productos) daba origen a la logica combinacional 
programable al ofrecernos una estructura universal en la que, modificando el valor de un 
conjunto de pardmetros, se podian obtener todas y cada una de las funciones logicas de n 
variables. 

^Podria revisar esa introduccion e intentar formular otra dual?. Es decir, icomo serian las 
funciones universales (yg, yi ) de dos variables (xq, xj ) representadas en terminos de maxterms 
(productos de sumas)?. iCudles serian las equivalentes en esta representacion a las 
arquitecturas PROM, PAL y PLA?. 

1.2. Compruebe su nivel de conocimiento sabre la representacion simplificada de puertas AND y 
OR multiples y sobre la distincion entre conexiones permanentes, programables intactas y 
programables fundidas en PLDs. 

a) Pase a simbologia propia de PLDs las funciones siguientes 
fj{X.Y,Z)=^(x-Y + X-Y)-Z + Z-(x-Y + X-Y) 
f^iXYZ) ^X + YZ + ZX 



f3{X,Y,Z)^XY + Y-Z + X-Y-Z + XY-Z + X-Y-Z 
Mx,y>Z)=(x + Y + z)+(x + Y + z)+X-Y-Z + X-Y-Z 



b) Realice la conversion inversa. Es decir, pase el siguiente circuito de notacion PLD a 
notacion convencional 



A A B B 

X X X X 



^.^^x 



-^e 



P2 



y^ 



f 



2. ROMs, PROMs, EEPROMs 

2.1. Todas las ROM son, esencialmente, funciones multiples (mfunciones de salida de n variables 
de entrada). Hay, sin embargo, diferencias en la forma de programacion (por fusible, por luz 
ultravioleta, electricamente -por pulsos de tension-, por conexiones individuales, globalmente, 
etc.) y en los circuitos adicionales que se le anaden para facilitar el direccionamiento o el 
proceso de grabacion y borrado, por ejemplo. 

^Podria describir, de acuerdo con estos dos criterios (forma de programacion y circuitos 
adicionales), las distintas versiones de memorias ROM?: 




2.2. Las aplicaciones mas generales de las PROM son: 

a) La sintesis defunciones logicas 

b) El almacenamiento relativamente pasivo de la informacion que necesita un procesador 
(programas, tablas, etc.). 

En el ejercicio E.7.1 del texto de problemas ilustramos la primera de estas lineas de 
aplicaciones, como modulos universales de diseno. Revise este problema e intente resolver los 
siguientes, que son andlogos: 

Sintetizar con PROMs lasfunciones: 

fl(x,y,z)=Im(l. 3.5,7) 

f2(x,y,z)=Im(0,2,4,6) 

2.3. En el ejercicio E. 7.2 se sintetiza un sumador binario completo para un bit y otro paralelo para 
4 bits usando una PROM. Revise este problema y trate de resolver ahora estos otros que son 
andlogos: 

a) Sintetizar con PROMs un sumador paralelo con acarreo adelantado para palabras de 4 
bits. 

b) Sintetizar con PROMs un sumador de palabras de 2 bits en complemento a 1 (C-1) 
incluyendo el detector de rebose. (Usar como punto de partida el ejercicio 2.7 del 
apartado de preparacion de la evaluacion del tema 5. ^Que problemas le encuentra a este 
diseno para pasar de ser un ejercicio academico a ser una opcion real de diseno?. 
iConsidera que se aprovecha adecuadamente la parte AND?. ^Que alternativas 
propondria dentro de la logica programable? . 

lA. ^Que modificaciones tendria que incluir en las soluciones del ejercicio anterior para 
convertirlo en un sumador en complemento a 2 (C-2)?. Le sugerimos que visite los ejercicios 
de evaluacion LS y 2.8 del tema 5. 

2.5. Entre los criterios de clasificacion de las PROMs (funcionalidad, volatilidad, direccionamiento 
y mecanismo fisico soporte) es esencial el ultimo, quefacilita la posibilidad de reprogramacion 
y la lectura/escritura, junto con la permanencia de los datos. La estructura fisica esencial es la 
de "canal enterrado" y transistor FAMOS. ^Podria describirla? . ^Por que el cambio 



controlado en el valor del umbral, V-p, es tan importante?. 

2.6. Describa cualitativamente el movimiento de carga entre el canal enterrado y el volumen del 
semiconductor durante las operaciones de grabacion y borrado de una celda FLASH. 

1.1. Lafigura adjunta muestra la arquitectura de una EEPROM que incluye, junto a las matrices 
AND (decodificador n:2n complete) y OR (matriz de almacenamiento con 2" lineas de entrada 
y m lineas de salida), los amplificadores de tres estados (input/output buffers), las lineas 
bidireccionales de entrada/salida, Dj, ..., D^y la logica de control: 

E = Seleccion de circuito (chip enable) 

G = Seleccion de salida (output enable) para acoplo con el bus 

W = Control de la escritura de dates (write enable) 

^Podria explicar su funcionamiento tanto para grabacion como para lectura?. Recuerde la 
descripcion que se hace en el tema sabre la EEPROM M28C16A. 



A,- 
A2- 
Ar 



Decodificador 



E ► 

G ► 

W ^ 



Logica 

de 
Control 



Matriz 
l-xtn 
CeldaS de Membria 



Buffer 
Entrada/Salida 



TIFT 



D, D2 D, 



D„ 



2.8. ^Que distingue a una EEPROM tipo FLASH de las otras EPROM vistas anteriormente?:a) A 
nivel de procesos fisicos soporte. b) A nivel de comportamiento externo. c)A nivel de nuevos 
circuitos integrados en el chip. 



3. Arquitecturas PAL y PLA 

3.1. Memos visto la arquitectura de las PROMs y algunas de sus aplicaciones en diseno logico 
como elemento de almacenamiento cuasi permanente de informacion. Sin embargo, pensando 
solo en su aplicacion para la sintesis defunciones en logica combinacional quedan en muchos 
casos desaprovechadas. ^Podria explicar por que?, i Como enlazan estas deficiencias de las 
PROMs con las arquitecturas PAL?. 

3.2. La figura 7.26 muestra el esquema de una PAL de 4 entradas y 4 salidas. Haga el estudio 
comparativo del coste de implementacion con PALs de este tipo y con PROMs de 4 lineas de 
entrada y 4 de salidas para la sintesis de las siguientes funciones: 

fj{x,y,z) = \x-y + x-yyz + z\x-y + x-y) 
f2{x,y,z) = x + y- z + z- X 

f^[x,y,z)- X- y + y- z + X- y-z + x- y- z + X- y- z 
f4{x,y,z) = \x + y + zj+ (x + y + zj+ x ■ y ■ z + x ■ y ■ z 



3.3. f^Que relaciones encuentra entre el circuito de la figura adjunta y el enunciado del ejercicio 
anterior?. 




o- 

O- 

o- 
o- 
■o 
■o 
o- 
o 



ii — n 




fi fz f, f4 



3.4. Hay situaciones en las que en una PAL nos sobran entradas y nos faltan terminos minimos 
para la sintesis de las funciones necesarias en una determinada aplicacion. En estos casos se 
puede usar alguna salida como variable intermedia que se realimenta como una nueva entrada 
y contribuye asi a la sintesis de las funciones de salida. Vedmoslo en un ejemplo. 

Se nos dice que solo disponemos de una PAL de 4 entradas y 4 salidas (como la del ejercicio 
3.2)yunapuerta OR adicional para sintetizar las siguientes funciones: 

fj =Zni{0,3.5,6) 
f2=l.m{0.1,2,3,4) 
fs =TmiO,l,2,4,5,7) 
f4 =Zm{0J.2,3,4,5,7) 

Intente comprobar que esto es posible proponiendo un valor para la variable intermedia (u) y 
un esquema de conexiones. 

Solucion 

Si tras reflexionar sobre el enunciado de este ejercicio no encuentra una solucion satisfactoria, 
compruebe que el circuito de la figura resuelve el problema. 

Observese que solo tenemos 4 terminos minimos para cada una de las 4 salidas, de forma que una 
salida la usariamos para obtener f,., y otras dos para obtener f2 y fj. Como fa posee 5 terminos 
minimos fj posee 6 terminos minimos nos harian falta 2 salidas para cada una. Sin embargo, como 4 
de estos terminos minimos (0, 1, 2, 4) son compartidos, podemos usar una variable intermedia u para 
sintetizar estas dos funciones: 

f2=u+Y.m(3) 
f3=u+Yjn(5,7) 

Finalmente/^ puede obtenerse de la union /^ y/^ . Evidentemente, esta solucion no es la linica 
posible y no tiene por que coincidir con otras que obtenga el lector. 

El proposito de este ejercicio es de naturaleza puramente pedagogica y pretende ilustrar: (1) El 
uso de la realimentacion de variables intermedias para transportar terminos minimos compartidos y 



(2) el uso de puertas adicionales para aumentar la funcionalidad de los PLDs. Veremos en el tema 13 
como estas estrategias de usar logica adicional y de compartir y redistribuir terminos minimos han 
sido incorporadas en los nuevos disenos de CPLDs. 




1 

2 
4 


3 
5 
6 



u 

5 
7. 



<7<7<7i7 



3- 



^e^e 



^^^e 



^f 



i(r^(: 



^e-5^ 



i(r^A 



^(-^e 



i(r 



"Xr 



D- 

Z> 

3- 
3- 



Q 

3- 
3 
3 
3 
3 
3 



WW 




// f2 fJ fs 



3.5. Implemente un sumador/restador de palabras de 2 bits con PALs y con PROMs y haga el 
estudio comparativo del coste de ambas implementaciones. 



3.6. La configuracion de salida mas general en las PALCEy las GAL es la macrocelda quepermite 



configurarse en cuatro modos en funcion del valor de dos variables de control (Sq, Sj). 
^Podria dibujar los cuatro circuitos concretos a los que da lugar la macrocelda de la figura 
7.31 cuando (Sq, Sj ) pasanpor las configuraciones posibles? . 

3.7. En el ejercicio E.7.5 se propone la sintesis de una mini-ALU con solo cuatro funciones para 
palabras de 2 bits (Aq A,;Bo, B,) usando 2 variables de control (So, S/) y una seleccion de modo 
(M=0 para operacion aritmetica y M=l para operacion logica). Repasar este ejercicio para 
extraer las tablas de verdad y sintetizarlas ahora usando la PLA x*y*z (entradas, productos, 
salidas) que considere optima, por ser la minima necesaria y suficiente para las exigencias 
computacionales del problema. Comparar el resultado de este ejercicio con el del texto de 
problemas E.7.5. 

3.8. En el ejercicio E. 7. 7 del texto de problemas se resuelve la sintesis de distintos circuitos 
conversores de codigo usando PLDs. Revise ese ejercicio y rellene la siguiente tabla: 



Conversiones 


Mejor con 
ROM. PAL 6 PLA 


iPor que? 


4 a 4, BCD a Exceso a 3 
4 a 10, BCD a Decimal 
Decimal a BCD 







^^^^^ 



Con este tema terminamos el estudio de la logica combinacional, incluyendo los aspectos basicos 
de los PLDs. Ya hemos comentado que las versiones mas avanzadas de estos circuitos incluyen 
elementos de electronica secuencial (biestables, registros, etc.). For esa razon hemos segmentado su 
estudio en dos partes. La primera, que solo usa logica combinacional la hemos visto aqui. La siguiente 
la veremos al final de la logica secuencial convencional, en el tema 13. 



Referencias Bibliograficas 

1 . Advanced Micro Devices (AMD) : "PAL Device Data Book", 1 992 . 

2. AMD: "FLASH Memory Products Data Book", 1 995 . 

3. Cypress Semiconductor: "High Performance Data Book", 1995. 

4. Floyd, T.L.: "Fundamentos de Sistemas Digitales". Prentice Hall, 2000. 

5. Rabaey, J. M.: "Digital Integrated Circuits". Prentice-Hall. 1996. 

6. Sandige, R.S.: "Modern Digital Design ". McGraw-Hill. 1990. 

7. STMicroelectronics (http://www.st.com). 1998. 

8. Sze, S.M.: "Physics of Semiconductor Devices" J. Wiley & Sons, 1981. 

9. Weste, N.H.E., Eshraghian, K.: "Principles of CMOS VLSI Design". Addison-Wesley. 1994. 







Exigencias Computacionales 

de la Logica Secuencial: 

Circuit OS Biestabies 



-f CONTEXTO 

La primera parte del texto se ha dedicado al estudio de los circuitos combinacionales. 
Empezamos estudiando las exigencias computacionales del diseno en logica combinacional. Vimos 
despues las bases electronicas necesarias para la sintesis de un conjunto completo de operadores. A 
continuacion estudiamos algunas de las familias logicas integradas y pasamos al nivel MSI 
estudiando las funciones necesarias para el cdlculo aritmetico-logico y para controlar el trdfico de 
datos en un sistema de cdlculo digital. Finalmente, en el tema anterior estudiamos la logica 
combinacional programable. El aspecto distintivo de todos estos circuitos que hemos estudiado en la 
primera parte del texto es el cardcter instantdneo de la relacion entre las entradas y las salidas. Es 
decir, un circuito combinacional ideal produce a la salida una serial que solo depende del valor que 
poseen las entradas en ese mismo instante. Es cierto que existen retardos de propagacion que definen 
ademds la velocidad de conmutacion de las distintas familias logicas pero esos retardos no son 



intrinsecos al modelo formal sino consecuencia del proceso fisico defabricaciony, en definitiva, una 
limitacion que la realizacion fisica impone sobre el modelo formal subyacente (el algebra de Boole). 

Ahora, en esta segunda parte del texto, vamos a introducir intencionalmente el retardo para 
poder disenar circuitos secuenciales, con "memoria", en los que la respuesta en un determinado 
instante, y(t), no depende solo del valor de sus entradas en ese instante, x(t), sino que depende 
tambien de las entradas y respuestas en instantes anteriores, x(t-At), y(t-At). Para que esto sea 
posible necesitamos, formal y fisicamente, un tipo especial de circuito (al que llamamos biestable) 
que sea capaz de almacenar durante un cierto intervale de tiempo, At, el valor de una serial digital. 
Como una serial digital tiene dos valores logicos posibles, ("0", "1"), necesitamos circuitos 
electronicos capaces de acomodar ("almacenar") en su estructura de forma permanente dos estados 
electricos distintos (0 y 5 voltios, por ejemplo). For eso se llaman biestables (R-S, J-K, Ty D), y con 
ellos iniciamos el estudio de la electronica secuencial, dedicdndole la mayor parte de este tema. 

Una vez que conozcamos el funcionamiento de los biestables y la teoria de automatas ya 
podremos sintetizar circuitos contadores, registros de desplazamiento, temporizadores y relojes, 
memorias RAM, CAM y FIFO, y logica secuencia programable (CPLDs y FPGAs). Es decir, el res to 
de las funciones necesarias para el diseno digital en general y para el disefio de computadores en 
particular. 

Este contexto que introducimos aqui esta compartido por el resto de los temas (9 al IS) entre 
los que hemos distribuido las distintas funciones secuenciales de acuerdo con el esquema propuesto 
en el plan general del texto. 

-¥ > CONOCIMIENTO PRE VIO NECES ARIO 

En el diseno secuencial usamos finalmente conceptos y circuitos que ya conocemos. Es decir, 
en los biestables lo nuevo es la arquitectura, el esquema de conexion, pero al final terminamos 
disenando con solo puertas NOR 6 usando solo puertas NAND. 

Andlogamente, en los automatas finitos, lo nuevo es la arquitectura (retardar y realimentar) y 
los aspectos de representacion formal (diagramas de transicion de estados, tablas, ...) pero al final 
las funciones encargadas de la transicion de estados y de la produccion de salidas son, de nuevo, 
funciones combinacionales convencionales, como las que hemos estudiado en los temas 1, 5, 6 y 7. 



Por consiguiente, todo el conocimiento previa necesario estd en esos temas. 

■^-^■^ Ob JETIVOS DEL TEMA 

El considerar la existencia de elementos de "memoria " en el andlisis y la sintesis de circuitos 
digitales nos obliga a dos cosas: 

I. Ampliar el modelo matemdtico soporte de la electronica digital pasando del algebra de Boole 
(suficiente para las circuitos combinacionales) a la teoria de automatas finitos. Esto conlleva, 
ademds, ampliar las arquitecturas incluyendo la realimentacion que cierra uno o varios lazos 
en los que se incluyen funciones combinacionales y elementos de memoria. 

II. Ampliar el conjunto de operadores bdsicos. Antes nos bastaba con AND, OR, NOT 6 NAND y 
ahora necesitamos anadir los biestables cuya funcion fundamental es el retardo: Un circuito 
que en el instante t+At nos da a su salida la entrada que tenia en 1 6 una funcion de la misma. 

Por consiguiente, los objetivos generales del tema son: 

Objetivo 1: Comprender aspectos conceptuales bdsicos en teoria de automatas finitos, incluyendo 
el manejo del tiempo en diseno digital. 

Objetivo 2: Entender con cierta profundidad el comportamiento de los distintos tipos de biestables, 
tanto por su configuracion de disparo (D, T, R-S, J-K) como por su estructura interna 
(niveles, dispar ados por flancos, tipo "maestro-esclavo", etc...).. 

-^-^-^-^ GUIA DE ESTUDIO 

La descripcion de los biestables (o flip-flops) es muy estdndar y puede encontrarse con 
pequenas diferencias en un gran numero de textos de Electronica Digital. 

Nuestra estrategia al preparar el material ha sido de naturaleza incremental. Empezamos con 
la estructura mds simple (los llamados ''latch" R-S)'*\ vemos los problemas que plantea, sugerimos 



Preferimos usar "latch" en vez de su traduccion ("cerrojo") y explicar su significado en el apartado 
correspondiente (biestables R-S). 



un procedimiento de solucion que, obviamente, complica algo el circuito etc... Finalmente, 
complementamos esta descripcion con la vision funcional externa, usando expresiones logicas, tablas 
de verdady diagramas de transicion de estados. 

La introduccion a la teoria de automatas hemos procurado hacerla intuitiva (ejemplo del 
boligrafo) y no recargarla demasiado de aspectos formales. Su contenido tambien es convencional y 
fdcil de seguir por distintos textos. Solo queremos comentar un punto para guiar el estudio. No hay 
que olvidar que el material de este texto esta asociado a una asignatura que no estd aislada en el 
desierto, sino que forma parte de un plan de estudios en el que se estudia tambien logica y teoria de 
automatas, junto a otras materias de programacion y arquitectura de computadores. Un numero 
importante de los conceptos que se estudian aqui, estdn descritos tambien en terminos parecidos en 
esas otras materias, por lo que aconsejamos una vision comprehensiva del tema. 



^^^ 



Contenido del Tema 



8.1. INTRODUCCION A LOS Automat AS FiNiTOs: concepto de estado 

El concepto distintivo de la electronica secuencial y, por consiguiente, del modelo formal 
subyacente (la teoria de automatas), es el concepto de estado intemo de un circuito. Veamoslo sobre 
un ejemplo sencillo. Consideremos como sistema un boligrafo de tipo pulsador en el que al pulsar sale 
la punta si estaba dentro y entra si estaba fuera. Para describir el comportamiento del sistema 
boligrafo necesitamos un espacio de entradas con una variable, x, que toma dos valores: 

x=xj = I = pulsar x=X2 = = no pulsar 

El boligrafo puede estar en dos estados, S: 

S = S] = punta dentro S = S2 = punta fuera 

y las respuestas posibles al pulsar (espacio de salidas, y) serian: 

y =y] = sale la punta y =y2 = entra la punta y = ys = no se mueve 

Como consecuencia de existir dos estados intemos distintos, una misma entrada puede producir 
dos salidas diferentes dependiendo del estado en el que se encuentre el sistema. Es decir, en general, 
la respuesta es funcion de la entrada y del estado y esto se ilustra en el diagrama de transicion entre 
estados de lajigura 8. La. 

Esta descripcion es completa e independiente del tiempo, de manera que al aplicarla de forma 
sucesiva para una determinada ristra de entradas de longitud siete, por ejemplo: xj X2 xj xi X2 xj xj, y 
suponiendo que el estado inicial era S], por ejemplo, la ristra de salidas sera: yj ysysyiysyiyi- 

Esta forma de representacion sigue la ley de \afigura 8. Lb. Los estados se encierran en circulos 
y entre dos estados cualesquiera puede haber siempre una rama que los enlaza sobre la que hay dos 
simbolos. Uno representa la entrada y otro la salida. 




(c) 



\^5 


^1 


■^2 


^i 


S, 


S; 


^2 


S/ 


S2 





•^i 


^2 


^i 


y; 


^2 


*2 


y^ 


ys 



Figura 8.1. (a) Diagrama de transicion de estados del sistema-boligrafo. (b) Ley general de representacion de 
las transiciones entre estados indicando en el arco que los une la entrada que provoca la transicion 
y la salida que se produce come consecuencia de esa entrada y de esa transicion. (c) Tablas de 
produccion de salidas y nuevos estados. 

Veamos pues que en la descripcion de un circuito secuencial hacen falta las siguientes 
entidades: 

> Espacio de entradas, (X = xj, X2) 

> Espacio de estados, (S = Sj, S2) 

> Espacio de salidas, (Y = yj, y2, ys) 

> Ley de produccion de nuevos estados a partir de las entradas y el estado anterior. 

> Ley de produccion de salidas a partir de las entradas y del estado anterior. 



Observese que en esta introduccion del concepto de automata fmito las variables del espacio de 
entradas, el espacio de salidas y el conjunto de estados pueden tomar mas de dos valores. Mas 
adelante, cuando proyectemos el concepto general de automata en su realizacion fisica mediante 
circuitos digitales, tendremos que codificar todas las variables en binario. 

El punto importante a nivel conceptual en la teoria de automatas es comprender que hay 
necesidad de tantos estados intemos en un circuito como historias equivalentes de estimulos. Cada 
historia distinguible de entradas exige un nuevo estado intemo. Y lo minimo son dos estados distintos. 
Por eso para su sintesis necesitamos circuitos capaces de acomodar de forma permanente dos estados 
electricos distintos. 

Todo lo que puede pasar en la vida de un boligrafo es que su punta este dentro o fuera y por 
muchas veces que lo use solo llegara a una de estas dos situaciones finales: punta dentro o punta 
fuera. Por eso solo necesito dos estados (Sj y S2) para describir su dinamica. Ahora bien, ^que pasa si 
queremos describir la conducta de 2 boligrafos?. Necesitaremos entonces un automata con 4 estados 
(00, 01, 10, 11) porque pueden existir cuatro configuraciones mutuamente exclusivas (los dos con la 
punta dentro, uno dentro y otro fuera, al reves y los dos con la punta fuera). 

Veamos ahora de otra forma la necesidad de introducir retardos "memoria" (variables que 
describen el estado intemo de un circuito). Al analizar el circuito de la figura con una sola entrada, 
x(t), y una sola salida, y(t), para obtener la funcion que realiza, y(t) = f[x(t)], se encuentran las 
siguientes correspondencias entre secuencias temporales de entrada y salida que se ilustra en la tabla 
de \a figura 8.2 y nos piden que encontremos cual es el circuito combinacional que hay dentro de la 
"caja negra". 



x(t)- 



Circuito 

Desconocido 

9 



-*-y(t) 





x(t) v(t) 




x(t) 


y(t) 




x(t) 


v(t) 


t 










1 




1 





t-At 










1 




1 


1 


t-2At 










1 




1 





t-3At 










1 




1 


1 





Figura 8.2. Circuito no conocido del que solo podemos medir las salidas correspondientes a distintas 
secuencias de entrada 



Para empezar, no hay ninguna funcion combinacional, y=f(x), que genere estas tablas, ya que 
Unas veces ante "0" da "0" y otras veces ante "0" da "1". Parece logico pensar entonces que la salida 
y(t) no solo depende de x(t) sino de alguna otra variable interna, z(t), que no es observable. Asi, 
podriamos explicar estos resultados con una tabla como la de l&figura 8.3.a. 



x(t) 


z(t) 


y(t) 





1 
1 




1 


1 




1 
1 





(— -. I 

I vf I ) = xtt )-zl tj + .\fl )-:(t) ■ 



\(a) 





x(() y(t) 


— 


x(t) y(t) 


... 


x(t) yd) 

0/ ►^ 


t 


^J^O 


;;o ;-► 1 


t-At 


{) (6^, 




(0 






t-2At 







1 




1 .;o} 


t-3At 







1 


_^ 


1 1 



(b) 



J 



Figura 8.3. (a) Posible solucion introduciendo una nueva variable z(t). (b) Biisqueda de una ley en las 
secuencias de valores de entrada y salida. 

Pero ^quien es esa "misteriosa" variable interna z(t)l. Si observamos las secuencias de valores 
marcadas en las tablas (que repetimos por comodidad) vemos que {figura 8.3.b): 

1. Si x(t) =0 e y(t-At) =0, entonces y(t) = 

2. Si x(t) =0 e y(t-At) =1, entonces y(t) = 1 

3. Si x(t) =1 e y(t-At) =0, entonces y(t) = 1 

4. Si x(t) =1 e yO'At) =1, entonces y(t) = 

Asi pues, la misteriosa variable z(t) es simplemente la salida, y(t), retardada At, es decir 
z(t) = y(t-At), con lo que el circuito desconocido junto con su diagrama de transicion de estados es el 
que se ilustra en Xa figura 8.4. 

Evidentemente, como ya habra detectado el lector, esta es la funcion del biestable T que 
usamos previamente, en forma de boligrafo, para introducir el concepto de estado. 



x(t)o 




*- y(t) 



(a) y(t) = x(t) z(t) + x(t) z(t) = x(t) y(t-At) + x(t) y(t-At) 

x(t)=l/y(t)=l 



x(t)=0 / y(t)=0 



(b) 




x(t)=0/y(t)=l 



x(t)=l /y(t)=0 



Figura 8.4. (a) Circuito con una puerta XOR y un retardo. (b) Diagrama de transicion de estados. 

Hemos usado estos ejemplos tan sencillos porque contienen todos los elementos necesarios 
para formular la teoria de automatas. En terminos mas formales diremos que un automata finite y 
deterministico es una maquina matematica que opera en una escala cuantificada de tiempos y viene 
definido por un quinteto: 



donde: 



A=(X,Y,S;f.g) 

X: es el conjuntofinito deposibles entradas, [xi], i = l,---,n 
Y: es el conjuntofinito de posibles salidas, {yk\ ^ = ^/ • ■- P 
S: es el conjuntofinito deposibles estados internos, X^j I J = ^r ' •- 



[8.1 J 



m 



f y g: son dos conjuntos de reglas de decision que representan la dindmica del sistema en la 
produccion de nuevos estados (reglas J) y en laproduccion de salidas (reglas g) 

La funcion de produccion de nuevos estados, / se define en extenso como una aplicacion del 
producto cartesiano XxS sobre 5 y la funcion de produccion de salidas, g, es una aplicacion del 



producto cartesiano XxS sobre Y. 

XxS -^—^ S : S{t + At) = f[x{t),S{t)] 



XxS 



Y: y{t + At) = g[x{t),S{t)] 



[8.2] 



[8.3] 



Es decir, el nuevo estado, S(t-^At), es una funci6n,/(3c,i^, del estado actual, S(t), y de la entrada, 
x(t). Ante una misma entrada, pueden producirse distintas transiciones de estado. A su vez, las mismas 
entradas x(t) y el mismo estado S(t) participan a traves de otra funcion, g(x,S), en la produccion de las 
saljdas. Estas variables de salida son las respuestas del automata a un medio extemo que lo ha 
activado a traves de las entradas, x(t). Es decir, un automata finito siempre se interpreta en su relacion 
con un medio extemo de forma que las salidas del automata son las entradas del medio y viceversa. 

Es interesante comparar el esquema de la figura 8.5 con el modelo computacional que 
propusimos como introduccion al libro en la figura 1.1 porque ambos pretenden contestar de forma 
intuitiva no solo a las necesidades logico-matematicas de la electronica digital, sino a la cuestion mas 
amplia sobre cual es el modelo de sistema fisico capaz de computar cualquier funcion computable. 
Enlazamos asi la teoria de automatas con las maquinas de Turing, y los lenguajes formales que 
constituyen el soporte teorico-formal de muchos aspectos esenciales dentro del estudio de los 
lenguajes de programacion. 




Entradas 



Produccion 

del Nuevo 

Estado 

f 



Retardo 

At 

(Memoria local) 



Produccion 

de Salidas 

g 



Salidas 



xeX 




Figura 8.5 Estructura computacional de un automata finito y deterministico. 



Una vez establecida la conexion con la teoria matematica de la computacion vamos a volver al 
uso limitado que se hace de la misma en el campo de la electronica digital. En su formulacion general, 
las entradas, {xt}, las salidas, {yjj, y los estados, {Sj} son los simbolos, cuyo significado se establece 
por convenio mediante una tabla de semantica. En electronica digital, las entradas, los estados y las 
salidas son niveles logicos, como el resto de las senales que hemos manejado en los siete primeros 
temas dedicados al estudio de la logica combinacional. En todos los casos, ademas, el numero de 
configuraciones de valores posibles es del tipo 2«. Con una entrada, xi, tenemos dos valores (0,1), con 
dos entradas, (x/, X2), tenemos cuatro configuraciones de entrada posibles, (00, 01, 10, 1 1), etc.. 

Lo mismo pasa con las salidas y los estados. Con una variable de salida, yi, tenemos dos 
valores, (0, 1), con dos (y;, 72), cuatro valores, etc... Finalmente, el estado del automata queda 
representado por las salidas de un conjunto de elementos de memoria a los que llamaremos biestables 
D (de Delay, retardo). Cada biestable D almacena el estado de una variable binaria, Sj, que solo puede 
tomar dos valores, (0, 1). Por consiguiente el automata minimo es aquel que posee una linica variable 
de estado(^(,) Y, por consiguiente, dos estados, (^^ -> 5o,5; -> ^o). El siguiente se obtiene 
aiiadiendo un nuevo biestable {sj), lo que da lugar a cuatro estados 
{So -^S]so,Sj ->s} So,S2 -^SjSo,Sj -^ SjSo). 

El mismo tipo de simplificacion se obtiene al intentar concretar de forma digital las expresiones 
de las reglas de decision, /y g, encargadas de la transicion entre estados (/) y de la produccion de 
salidas ( g ). La forma mas general de describir estas reglas es usar expresiones condicionales del tipo: 



Componente i-esima de la regla/- 



"Si el automata estd en el estado Si 
y llega la configuracion de entrada X^ 
pasa al estado Sj" 



Componente i-esima de la regla g.- 



"Si el automata estd en el estado St 
y llega la configuracion de entrada X^ 
produce la configuracion de salida Y„" 



Estas reglas condicionales que describen a/y a g se suelen organizar en forma de tablas de 
transicion ( / ) y tablas de produccion de estados ( g ) o bien mediante diagramas de transicion de 
estados. Las tablas de transicion son matrices simbolicas en las que las columnas corresponden a 
posibles simbolos de entrada {Xj, X2, ..., X„) y las filas a posibles estados {Si, Sj, ..., Sj,^. El elemento 
(i,]) de esta matriz representa los nuevos estados y nuevas salidas correspondientes, /fS, , Xj) y 
g(Si , Xj). Esta tecnica de representacion se muestra en la. figura 8.6.a. Las transiciones de estado 
correspondientes se ilustran en \a figura 8.6.b. En este caso los estados estan asociados a los nodos y 
las transiciones son los arcos que van del estado actual al siguiente, la descripcion del arco representa 
las condiciones en las que se produce esa transicion. Obviamente, si no existe ningun simbolo de 
entrada, Xi, tal que/(^ , Sj) - Sj, no existira el arco correspondiente en el diagrama de transicion de 
estados diciendonos que los estados 5, y Sj no estan conectados bajo ninguna condicion. 





Entrada Actual 


Estado 
Actual 




Xq ... Xj ... X„ 


^0 


f(Xo,So)/g(Xo,So) 
f(Xo.Sn^/g(Xo,SJ 


f(Xj,Sj)/g(Xj,Si) 


f(X„,So)/g(Xn,So) 
f(Xn,Srr^/g(Xn,Sm) 



(a) 



(b) 




Figura 8.6. (a) Tabla de transicioa (b) Diagrama de transicion de estados. 



Recordemos que los elementos de los espacios de entrada y salida son en general simbolicos. 
Cada entrada, estado o salida se asocia a una etiqueta cuya especificacion en las tablas de significados 
expresa en lenguaje natural una descripcion de la situacion que estamos representando. Asi, cada 
computacion general, se descompone en dos procesos: (a) identificacion de los conjuntos X, Y y S 
necesarios para hacer computacional una determinada tarea y (b) busqueda de las funciones f y g 6 
sus representaciones equivalentes en terminos de tablas 6 diagramas de transicion. 

En electronica digital las funciones / y g son funciones en logica combinacional del tipo 
estudiado en los temas anteriores de forma que las tablas de transicion entre estados y las tablas de 
produccion de salidas son ahora matrices booleanas. 

Esta simplificacion, obtenida al especificar las entradas, estados y salidas de un automata fmito 
en electronica digital, nos permite volver a dibujar la estructura de la figura 8.5 de otra forma 
equivalente mas proxima a su sintesis electronica. El resultado se muestra en la figura 8. 7 donde 
hemos cambiado el nombre de automata fmito por el de circuito secuencial. Un circuito secuencial de 
M variables de entrada, (xq, xj, ..., xm-i), N variables de salida (yo, yj, ..., y^-i) y Q estados 
(siendo Q > 2^), se puede sintetizar de forma modular de acuerdo con el esquema de la figura 8. 7. 

Hay una funcion multiple en logica combinacional que sintetiza las N variables de 
estado, {Dq, Dj, ..., Dj^.j) a partir de los valores de las Af variables de entrada, (xq, x;, ..., xm-j) y de 
losvalores del estado en el intervalo anterior, (Qq, Qi, .... Qn-i)- 

Di(t) = f\xo(t)....,x^.,(t) ; Qo(t),....Q^_,(t)] ^^jj 

Siendo, 



Qi(t) = Di(t-At), i = 0.1,...,N-l 



[8.5] 



Analogamente, las N variables de salida, (yo, yj, .... y^-i) son en general otra funcion multiple 
de las entradas {xq. xj, .... xm-i), y del estado {Qq, Qi, .... Qn-i)- 

yj(t) = sko(t),..;X^.,(t) : Qo(t) Q^_,(t)] 

j = 0,l.....N-l fs.6J 

La sintesis de las funciones combinacionales {//} y {g/} puede realizarse usando PLDs que 
incluyen en sus macroceldas biestables para la sintesis de los retardos. 



(xq.X], -.X M-1 } 



Reloj 



\ 



D„ 



At 



PLD- 1 

Funcion f 



D, 



At 



Qi 



PLD -2 

Funcion g 



^yo ^yj 



D 



N-1 



At 



QN-0=D^(t-At) 



<^ 



^%/ 



Figura8.7. Arquitectura general de un circuito secuencial. Es decir, de un automata finito en el que las 
variables son pulsos o niveles, las funciones son logica combinacional y el estado se almacena en A^ 
biestables. 

Para muchas aplicaciones no es necesario usar las funciones {gi}, de forma que las variables de 
salida, {yt), coinciden con las variables de estado, {Qi}. En estas situaciones se puede realizar de 
forma sencilla la sintesis modular de cualquier circuito secuencial de 2^ estados. Cada una de sus A'^ 
variables de estado, {yo, yi, .... yN-l), consta de una funcion combinacional, Di = fi , y vtn retardo, 
yi(t) = Di(t+At). Esta combinacion puede considerarse como un circuito secuencial minimo y 
universal de (M+N) entradas ya que posee una funcion combinacional universal de (M+N) entradas y 
dos estados. Veremos en el tema final del libro, al introducir la logica secuencial programable, como 
se basa en esta idea de sintesis modular usando circuitos universales. Aqui solo nos interesa introducir 
la idea al plantear el modelo matematico de la electronica secuencial. 



8.2. El Tiempo en Digital: comportamiento sincrono y asincrono 

En electronica combinacional no existia el tiempo, la computacion era "instantanea". En 
cambio, en electronica secuencial el tiempo es esencial. La posicion relativa en la que ocurren los 
sucesos define la computacion. Hay dos tipos de circuitos digitales, sincronos y asincronos. 

Son circuitos sincronos aquellos que estan gobemados por un reloj central de forma que todos 
los sucesos de interes computacional ocurren en los entomos de los pulsos de reloj . El intervalo entre 
dos pulsos sucesivos se usa para estabilizar los niveles de tension, pero los cambios de estado no se 
producen hasta que no llega el nuevo pulso. Mas especificamente, la conmutacion se produce en los 
flancos del pulso de reloj, cuando este pasa de baja a alta (flanco positivo) o viceversa (flanco 
negativo). La Jigura 8.8 ilustra el funcionamiento y los problemas asociados a un sistema sincrono. 
Todos los circuitos secuenciales sincronos poseen junto a las entradas necesarias para realizar su 
funcion, una entrada adicional (Ck - clock) para la sefial de reloj que es la que controla los instantes 
en que se hacen efectivos los cambios que definen la funcion. 

Un reloj es un oscilador, un circuito astable que genera un tren de pulsos o una onda cuadrada. 
En el tema correspondiente a temporizadores estudiaremos su diseiio y las soluciones integradas 
monofasicas y polifasicas. Aqui nos basta con la idea intuitiva de oscilador. Ej intervalo temporal 
entre dos pulsos sucesivos es el periodo (I) y su inverso la frecuencia (f=l/T). La frecuencia del reloj 
define la maxima velocidad de operacion permitida en un sistema digital. Cualquier funcion necesita, 
al menos, un periodo (dos pulsos sucesivos) para ejecutarse. 

La parte (c) de \afigura 8.8 ilustra las restricciones en las seiiales de entrada para conseguir un 
buen funcionamiento sincrono. Antes de cada subida del pulso de reloj, las senales x ey deben tener 
valores estables. Hay un intervalo de seguridad llamado tiempo de asentamiento (setup time, tsu) que 
garantiza que las seiiales de entrada ya ban alcanzado su estado estacionario un tiempo tsu antes de la 
subida del pulso. De forma complementaria, se define el tiempo de retencion (hold time, th) como el 
intervalo de tiempo durante el cual las entradas todavia tienen que permanecer estables despues de 
haberse producido la subida de baja a alta del pulso de reloj. Si no se cumplen las restricciones de 
estos tiempos, {tsu Y ^h)^ puede producirse un comportamiento erratico, no predictible. 



(a) 



(b) 



(c) 



RELOJ 
(Astable) 



Ck 



?»1 II 

"0" 



^f=l/f^ 



RELOJ 



imnM 

-• — 



Ck 

X 

y 



<'SU 



Ck 
CIRCUITO 
DIGITAL 



z=f(x,y;Ck) 



Ck 








i 


L 






i 


i 




.1 
























X 








■t h 








* J 






1 








y 








^ h^ 


i, 








-- 


--—^- 






'-/- 











FiguraS.S. Comportamiento sincrono. (a) Reloj. (b) Circuito digital con la entrada adicional Ck. 
(c) Cronograma ilustrando los tiempos de asentamiento ("setup time") y de retencion ("hold time"). 

El resto del tiempo, dentro de un periodo, desde (Tn+th) hasta {Tn+l-tsu), es el intervalo que 
queda para la transicion de estado en las senales extemas. Obviamente cuanto mayor sea la firecuencia 
del reloj if), menor sera el periodo (T=l/j) y menor el tiempo de transicion. Por consiguiente, mas 
rapida tiene que ser la familia logica usada para la sintesis de las fimciones combinacionales que 
cambian el valor de las entradas. 

La mayoria de los sistemas digitales son sincronos y asi seran todos los estudiados en este 
curso. Sin embargo, existen aplicaciones que optimizan el tiempo usando circuitos asincronos, en los 



que no se depende de un reloj de forma que a medida que se producen los cambios en las variables de 
entrada, repercuten en la salida, sin esperar la llegada de un nuevo pulso de reloj. Los sistemas 
asincronos son mas dificiles de tratar que los sincronos, tanto a nivel matematico como a nivel de 
realizacion fisica. La figura 8.9 ilustra algunas de las restricciones del diseno asincrono. Hay dos 
modos posibles de operacion: fundamental y por pulsos. En el modo fundamental no pueden existir 
cambios simultaneos de nivel en las variables extemas. Solo una puede estar conmutando en cada 
instante de tiempo. En el modo de pulsos las senales solo estan en alta durante un corto intervalo de 
tiempo. La subida del pulso marca el suceso temporal y, al igual que antes, no pueden coincidir dos 
pulsos a la vez. 

















A 


'\ 




Senales 




ii 


1 


de 4 1 




1 


' 


' 


Entrada 


1 


i 


, 


1 




u 








(a) 


















1 




de 
Entrada 


i 


i 
















i 


■ 




(b) 











Figura 8.9. Circuitos asincronos. (a) Modo fundamental (b) Funcionamiento por pulsos. 



8.3. BlESTABLES 

Si observamos las figuras 8.5 y 8.7 que resumen el modelo matematico de la electronica 
secuencial vemos que para su sintesis tenemos todo lo que necesitamos, salvo los retardos, a los que 
hemos Uamado biestables D. Estos circuitos biestables son los encargados de almacenar el estado 
intemo del sistema y de ellos vamos a hablar ahora viendo cual es su fundamento electronico y como 
se sintetizan usando puertas logicas NAND 6 NOR. 



Los circuitos biestables son circuitos binarios (con dos estados) en los que ambos estados son 
estables de forma que hace falta una senal externa de excitacion para hacerlos cambiar de estado. Esta 
funcion de excitacion define el tipo de biestable (D, T, R-S 6 J-K) y de ella empezaremos a hablar en 
el apartado siguiente. 

Desde una perspectiva electronica, son circuitos binarios aquellos que poseen dos estados 
intemos distinguibles, en general asociados al estado de corte o saturacion de los transistores 
bipolares o MOS con los que se ban sintetizado los inversores. Los circuitos binarios pueden ser 
biestables, monoestables o astables (multivibradores) dependiendo de que ambos estados sean 
estables (biestables), lo sea uno solo (monoestable) o no lo sea ninguno de los dos y el circuito este 
cambiando constantemente de estado (astable). En este tema nos interesa estudiar los circuitos 
biestables porque son la base de los elementos de memoria. Mas adelante estudiaremos los 
monoestables y los astables que son la base de los circuitos temporizadores y de los relojes. 

Para la sintesis de circuitos binarios biestables usamos dos amplificadores inversores de 
ganancia Ajy A2 conectados de forma tal que cierran un lazo de realimentacion positiva, como se 
ilustra en \a figura S.lO.a. Es decir, la salida del primer amplificador es la entrada del segundo y 
viceversa La salida, Vq, antes de cerrar el lazo sera 



Vq =Aj-A2Vi =Av-vi 



[8.7] 




Salida Q 



1 posibles puntos de equilibrio 
en lazo cerrado 



9 f 




/bK 



" por cerrar el lazo 



t / f-J pendiente = Av^ /avj 

y. — 



/A 



(b) 



Figura 8.10. Circuitos biestables. (a) Realimentacion positiva de dos inversores. (b) Caracteristica de 
transferencia. 



Si la ganancia total Ay = Aj-A2 es mayor que la unidad hay una ganancia neta en todo el 



recorrido de la sefial al cerrar el lazo. La sefial que vuelve es mayor o igual que la aplicada, de forma 
que el circuito entra en una zona de alta ganancia pero inestable. Aqui permanece solo 
transitoriamente empezando una evolucion hacia uno de los dos estados estables posibles, tal como se 
ilustra en lajigura S.lO.b: 

> O bien decrece la ganancia en uno de los amplificadores inversores porque entra en saturacion 

> O se abre el lazo de transmision porque el elemento active (transistor) de uno de los inversores 
pasa al corte. 

La parte (b) de la figura 8.10 ilustra los tres unicos puntos que podrian considerarse en 
principio puntos de equilibrio (A, B y C). Pero solo A y B son estables. En efecto, en C la 
ganancia en tension de los inversores (Ay=Avo / Avi) es mucho mayor que la unidad y cualquier 
desequilibrio o serial de ruido es amplificado llevando al circuito al punto B (inversor de salida en 
corte y ganancia nula) o al punto A (inversor de salida saturado), y en ambos casos la ganancia 
incremental es nula y el estado final es estable. 

Asi pues, las condiciones necesarias y suficientes para el funcionamiento biestable de dos 
inversores realimentados son: 

> Existencia de dos estados estables en continua. 

> La ganancia en lazo cerrado {Ay), con ambos inversores en zona activa, debe ser mayor que la 
unidad en un punto de funcionamiento posible en continua (C), siendo 

. . , Avqi Avg2 
A^=A]-A2=-~^-—^, v„i=Vi2. Vii=v^2 

^^il ^^i2 [8.8] 

El paso de un estado estable al otro se realiza con aporte de energia exterior (pulso o cambio de 
nivel) que permite superar el punto en el que la ganancia del lazo es Ay=l. 

Hay cuatro tipos basicos de biestables en funcion de cual es la configuracion de las variables 
extemas que controlan las transiciones de estado: R-S, J-K, T 6 D. Ademas, dentro de cada uno de 
estos tipos de comportamiento extemo, los biestables se clasifican en tres grupos: 

1. "Latches" basicos o con puertas previas con una entrada adicional de pulsos de reloj para 
facilitar el control de las entradas {biestables sincronizados a niveles). 

2. Maestro-esclavo disparados por pulsos y con separacion de la orden de disparo de su ejecucion. 



3. Biestables disparados por flancos . 

Observese que en cada uno de estos grupos podemos tener configuraciones R-S, J-K, T 6 D. 

Empezaremos estudiando el nucleo del biestable R-S bdsico y despues iremos complicando el 
circuito con la introduccion de puertas, las posibilidades de control sincrono y asincrono del estado, 
etc... 

Ya hemos visto que la componente estructural basica de todos los biestables (su nucleo) la 
forman dos inversores acoplados en realimentacion positiva de forma tal que cuando la salida de uno 
esta en alta (0 las del otro esta en baja(g). Necesitamos ahora anadirle entradas extemas para 
controlarlo. Es decir, para poder escribir un "1" 6 un "0" y, por consiguiente controlar las cuatro 
transiciones posibles del automata equivalente de dos estados (pasar de "0" a "1", de "1" a "0", 
dejarlo en "0" 6 dejarlo en "1"). 

8.3.1. R-S Basico 

La configuracion que especifica la forma de controlar estas transiciones da nombre al biestable 
(R-S, J-K, T 6 D). Asi, la configuracion R-S es aquella que tiene dos entradas extemas, R {Reset o 
puesta a "0" del biestable) y S (Set o puesta a "1") y la expresion mas sencilla de esta configuracion se 
consigue realimentando dos puertas NAND o dos puertas NOR de dos entradas, tal como se ilustra en 
el circuito de la. figura 5.7/. En el caso de las puertas NOR, por convenio, llamamos g a la salida de 
la puerta de arriba, cuya entrada externa es i?, y g a la salida de la puerta de abajo, cuya entrada 
externa es S. Asi, debido a la realimentacion, en la primera puerta NOR entran Ry Q y enla segunda 

Vamos ahora a analizar en extenso las distintas posibilidades logicas en las que pueden 
permanecer estas puertas de forma estable. El analisis sera algo mas minucioso de lo usual porque es 
el primero en el que interviene la realimentacion y queremos usarlo para ilustrar el metodo que se 
repetira despues en otras versiones mas complejas de esta configuracion y en otras configuraciones. 



^ ' Por claridad en la exposicion haremos todo el desarroUo con puertas NOR. En el texto de problemas aparece 
el desarroUo equivalente usando solo puertas NAND. 




(d) 



(S) 



R 


s 


Qn 


Qn+1 




















1 


1 





1 





1 





1 


1 


1 


1 











1 





1 





1 


1 





■> 


1 


1 


1 


7 



Qn+j =RS + RQ„ 



(e) 



00,10/0 




(c) 



R 


s 


Qn+1 








Qn 





1 


1 


1 








1 


1 


? 



01/1 



10/0 



00,01/1 




Figura8.lL Sintesis de la version minima de los biestables R-S. (a) Con dos puerta^ NOR realimentadas 
(entradas R y S activas en alta). (b) Con dos puertas NAND (entradas Ry S activas en baja). (c) 
Simbolo logico, (d) y (e) Tablas. (f) Expresion logica. (g) Diagrama de transicion de estados. 

Empecemos recordando que una puerta NOR solo esta en alta cuando sus dos entradas estan en 
baja (00 ^ 1; 01, 10, 1 1 => 0). Por consiguiente, en cuanto una de las entradas este en alta, la salida 
es "0", independientemente del nivel logico de la otra entrada. Recordemos tambien que lo que 
estamos buscando es una expresion logica que nos relacione el valor de la salida del biestable en un 
cierto intervalo de tiempo {Q(t+At) que por simplificacion en la escritura llamaremos e„+y) en 
funcion de los valores de las entradas de control {R„ y S^) y del estado (salida en el instante actual, o 
sea, Qn). 



Qn+1 =funcidn de (Rn, Sn; Qn) ]8.9[ 

Ademas, vamos a obtener esta funcion construyendo la tabla de verdad. Es decir, viendo cual es 
el valor estable cuando establecemos como condiciones iniciales los ocho valores posibles de i?„, Sn y 
Qn (000, 001, ..., 1 1 1). Lafigura 8.12 ilustra el proceso de forma detallada. 

1. R„ = 0,S„ = 0: En este caso, Q„ podria estar inicialmente en "0" 6 en "1". Supongamos 
que Q„ = (figura 8.12.a). Entonces, por complementariedad forzosa, Q„=l ifigura 8.12.d). Asi, 
en la primera NOR aparece R„ = Oy Q„=l y, por consiguiente, Q„+] = 0. Al mismo tiempo, en 
la segunda NOR aparece Q„ = y S„ = 0, por consiguiente g„^^ = 7 . Es decir, se confirma el 
estado inicial supuesto, las salidas g„ y g„ son estables y ya tenemos la primera linea de la tabla 
(Rn = 0,Sn-0,Q„ = 0^ Q„+i = 0). 

Supongamos ahora que el estado inicial era Qn = 1 y, por complementariedad, Q„=0 {figura 
8.12.b). Al realimentar, la primera NOR tiene 00 y la segunda 10, con lo que se confirma el estado 
inicial y tenemos la segunda linea de la tabla (i?„ = 0, 5„ = 0, g„ = 7 ^> g„+; = i). Es decir, 
cuando i?„ =5'„ =0, el biestable no cambia de estado. Mantiene el estado anterior {Qn+i = Qn)- 

2. R„ = 0, S„= 1: Empecemos tambien suponiendo que Q„ = y Q„=l (figura 8.12.c). Asi, en la 
primera puerta NOR aparece Rn = Oy Q^-1 con lo que su salida, g„+; = 0. A\ mismo tiempo en 

la segunda puerta NOR aparece Qn ^ y S„ =1, con lo que su salida es "0" (en contra de la 
suposicion inicial). Seguimos entonces el lazo de realimentacion y presentamos este valor 
transitorio de Qn =0 en la primera NOR que ahora tiene en las entradas (00) y produce Qn = 1- 

Al mismo tiempo en la segunda puerta se ha presentado (01) y se vuelve a repetir Q„=0 . 
Finalmente, al realimentar este valor "0" de g„ a la primera puerta NOR, esta, ante 00, 
da Qn+i = 1, que ya es un valor estable. Asi, finalmente, ante R„ = y S„ = 1 , si el estado inicial 
era Q„ = 0, el nuevo estado estable es Q„+j =1, (0,1,0 => 1). 

Si hubieramos partido de Qn = 1 {figura 8.12.d), es facil comprobar que la situacion es estable. 
Es decir, ante R„ = 0, y S„ = 1, si Qn = 1, entonces Qn+i =1- Ya tenemos pues dos lineas mas de la 
tabla de verdad y otra parte de la funcion. S\Rn = Oy Sn = 1, el biestable pasa a g„+; =7, sea cual 



fuere su estado inicial {Qn = 6Q„ = I). Esta es la configuracion de set (puerta a "1 "). 



R=o\ y 




'/Estado estable 



R S Q^ 







Qn+1 



(b) s=o 



'/Estado estable 



R s Q„ 



1 



Qn+1 



R=0 



(c) S=l 



R^ 




(d) s=i 



' 0' r (T) 



'"/Estado estable 
--'Estado inestable 



Q=V 0' 0' (O) R S Q^ 




Q=0' (T) 



1 



/Estado estable 



R s Q„ 



QnM 



1 1 



e«+i 



Figura8.12. Descripcion detallada del comportamiento del biestable R-S. Ver la explicacion de las 
configuraciones en el texto. Cuando en una entrada o en una salida hay una sucesion de valores 
(0->0-»l, l-»0-*0) significa que la configuracion propuesta inicialmente por g y g no sera 
estable. Cuando se alcanza un valor estable se encierra en un circulo. 



R=l 




Estado estable 



R S Qn 



1 



Qn+1 



R=l 



(J) 




e=i-»o-»o-»(o) 



/Estado estable 
,.-'''Estado inestable 



6=0-0^1-0 R S Qn 



Qn+1 



e=o-+o-^o-^(o) 




1 1 



Configuracion no 
permitida: Q=Q ? 



R S Qn 



Qn+1 



1 1 



Configuracion no 
permitida: Q=Q ? 



6=0^0-^0^(0) R S Qn 



1 1 1 



Qn+] 



Figura 8.12. (continuacion) 



3. R„ = 1, S„ = 0: Supongamos que inicialmente Q„ = (Jigura 8.12.e).. Es facil comprobar que en 
este caso la configuracion de salida es estable y g„+y = 0, con Q^^, = / . (1 => 0) 

En cambio, si el estado inicial hubiera sido Q„ = I (figura 8.12.f), realimentandolo y viendo la 
sucesion de transitorios que genera veriamos que el unico estado final estable es g„+/ = 
(101 =i> 0). con lo que la ley ahora es: Si /?„ = 7 y 5'„ = , sea cual fuere el estado anterior (g„ = 
^Qn = ^) el nuevo estado es g„+; = 0. Esta es la configuracion de reset (puesta a "0"). 

En cambio, si el estado inicial hubiera sido Q„ = 1 (figura 8.12.f), realimentandolo y viendo la 
sucesion de transitorios que genera veriamos que el linico estado final estable es Q„+i = 
(101 => 0). con lo que la ley ahora es: SiR„ = 1 y S„ = , sea cual fuere el estado anterior {Q„ = 
^Qn = 1) el nuevo estado es g„+/ = 0. Esta es la configuracion de reset {puesta a "0 "). 

4. R„ = 1, S„ = 1: Finalmente, si R„ = S„ = 1, vamos a ver que hay conflicto, por lo que esta 
configuracion no esta permitida en los biestables R-S. 

Supongamos inicialmente que Q„ = 0, en este caso al realimentar se genera la secuencia que 
ilustramos en la parte (g) de la figura 8.12 que termina con la configuracion "estable" 
Qn+i = Q„+i =0 .Y \o mismo ocurre en el caso complementario (parte (h) de la figura 8.12) en el 
que hemos supuesto que el estado inicial era g„ = 1. Al realimentar y seguir la secuencia de 
entradas encontramos que la unica configuracion estable es Q„^, = Q^^, =0 ,\o cual no es posible 
por la complementariedad forzosa de todo estado biestable. 

Asi, la expresion de g„+i en fimcion de las entradas (i?„, 5„) y del estado g„, obtenida a partir de 
la tabla de \a figura 8.11 prohibiendo la entrada (11), es: 

Qn^l={Sn+Qn)Rn [8.10] 

Con la prohibicion de Rn = Sn = 1 



Ejercicio: Usar un simulador tipo PSpice para comprobar el comportamiento descrito 
anteriormente de la configuracion R-S. 

Solucion: 

Usamos puertas tipo SN7428 y dos relojes de distinta frecuencia para obtener de forma 



sucesiva las cuatro configuraciones logicas (00,01,10,11) para las entradas R y S y obtenemos los 
resultados de la. figura 8.13 donde se muestra el circuito simulado y el cronograma. 

Tras un transitorio inicial (de to a ti) las dos entradas pasan a 1 (en ti). Con esta configuracion 
de entrada {R=S=1) estamos en la situacion conflicto en la que tanto la salida Q como la Q^ (que 

representamos por nQ) estan a cero. Esta es la configuracion de entrada que nos crea indeterminacion 
y que por tanto esta prohibida. 

En t2 la entrada R pasa a mientras que la S se queda en /, dando lugar a las salidas Q=l y 
nQ=0, como era de esperar ya que esta activa la senal de "set", es decir, S-1. En el siguiente intervalo 
de tiempo {t}), R pasa a 1 y S pasa a 0, lo que hace que el biestable cambie de estado poniendose a 0, 
es decir, Q=0 y nQ=l, puesto que esta activa la senal de "reset", es decir, R=l. 



R 
S 

Q 
nQ 



Transitorio 
inicial 



Configuracion 

no deseada 

Q=nQ=^ 











FTrTTr^ ^ 


2\ 


^\ 






uA\y , "^ 




3 










/ 


^y 
















nQ 


DSTM2 Q 

|CLKJTJ>> ^ 


L^^ 


U2A jo"* 


-^L 










SjNM 


2S 



iiiwiijfw^ 



Configuracion, 

no deseada 

Q=nQ=0 



R pasa de 7 a : 

y 

S pasa de 1 aO- 



jiiillilniiinL 

oscila 



OS 

to 



0.5us 

t2 



1 .Ous 

t4 



1 .5us 

t6 



2. Ous 



Figura 8.13. Simulacion del circuito R-S basico. La oscilacion aparece cuando Ry S pasan a la vez de 1 1 a 00. 
Si se desea evitar, basta cambiar los relojes (distinto periodo para S que para R) para que no ocurra 
esa situacion. 



De nuevo en t^ vuelve a presentarse la configuracion de entrada R=l y S=l, produciendo a la 
salida la configuracion no deseada Q=0 y nQ=0. En el siguiente intervalo de tiempo, t^ observamos 
que las dos senales bajan a la vez pasando de la configuracion de entrada 11 a la 00 y el circuito 
empieza a oscilar. Esta oscilacion permanece hasta que hay un cambio en las entradas. Su origen esta 
en que las dos puertas NOR "intentan" mantener un estado distinto. Esta oscilacion terminaria en el 
case de que las dos puertas no fueran exactamente iguales y entonces una de ellas "ganaria" y Uevaria 
al circuito a un estado estable. 

Generalmente esto no ocurre en el laboratorio real donde las puertas no son exactamente 
iguales y siempre hay alguna pequeila diferencia, bien a nivel del circuito o bien a nivel de las senales 
de entrada (ruido), de forma que es muy poco probable que las dos entradas cambien de 7 a en el 
mismo instante de tiempo. Asi, en el momento que hay un desfase en los cambios de las seiiales, una 
de las puertas cambia de estado antes que la otra y fuerza al circuito a conseguir un estado estable. Sin 
embargo, en la simulacion estamos usando los modelos matematicos de los circuitos y por tanto las 
puertas ahora si que son exactamente iguales y ademas no hay ningun ruido que interfiera con las 
seiiales de entrada. 

La forma mas sencilla de resolver este problema a nivel de simulacion es evitar que las dos 
seiiales pasen a la vez de 7 a 0. Esto se puede comprobar de forma sencilla sin mas que variar la 
frecuencia de uno de los relojes que se ban usado para generar de forma automatica las 
configuraciones de entrada. 



8.3.2. R-S Sincronizado a Niveles 

En la configuracion R-S basica las transiciones de estado pueden ocurrir en cualquier momento, 
en funcion del valor que tomen en ese momento los niveles de tension en las entradas de set (S) y 
reset (R). En este sentido el circuito es asincrono. 

Para acotar con mas precision los intervalos de tiempo en los que pueden ocurrir las 
transiciones, se anaden dos puertas AND delante de las NOR junto con una entrada adicional de los 
pulsos de un reloj. Asi, las entradas a las puertas NOR solo estaran activas cuando el pulso de reloj 
este en alta y por eso se llama a este circuito biestable R-S sincronizado a niveles. Veremos despues 
otros circuitos que todavia acotan mas los intervalos de transiciones permitidas (disparo por flancos), 
donde las senales de control solo estan facilitadas durante las transiciones de los pulsos de reloj (de 



alta a baja o de baja a alta). 

La figura 8.14 muestra el circuito R-S sincronizado a niveles, un ejemplo de cronograma donde 
se senalan los intervalos en los que R y S estan activas y la tabla de verdad correspondiente. 
Observese que cuando el reloj esta en baja (Ck = 0) es irrelevante el valor de i? y 5' y el biestable 
permanece en el estado anterior {Qn+i = Qn)- En cambio, cuando el pulso de reloj esta en 
alta (Ck = 1), las senales extemas (R y S) llegan tal cual a las puertas NOR {R' = R, S' = S) y d 
biestable funciona de forma normal (recordando la necesidad de no usar la configuracion R= S =1) 




R 



s 
Q 




Ck 


R 


s 


Qn+1 





X 


X 


Qn 


1 








Qn 


1 





1 


1 


1 


1 








1 


1 


1 


No permitido 



Figura 8.14. Biestable R-S con puertas NOR sincronizado a niveles. 



8.3.3. Disparo por Flancos 

Si el pulso de reloj es muy ancho es posible que se cometan errores debidos a cambios en el 
valor de R6 S durante el intervalo de tiempo en el cual el pulso de reloj esta en alta. Para resolver este 
problema se procura que el pulso de reloj sea muy estrecho y, ademas, se usan solo sus transiciones de 
baja a alta (o de alta a baja) para definir el instante en el que se deja actuar a las variables Ry S. 
Decimos entonces que el biestable R-S esta disparado por flancos (positivos, "subidas" o negatives, 



"bajadas"). Asi, como Ry S son asmcronas, lo usual es que los correspondientes niveles de tension 
esten "esperando" a que el pulso de reloj realice una transicion para ser operativas, disminuyendo asi 
la probabilidad de que justo en esa transicion se produzca de forma no deseada otra 
transicion en R o S. 

Lafigura 8.15 muestra una forma sencilla de producir un pulso muy estrecho asociado a las 
transiciones del pulso de reloj. La seiial de reloj se pasa por un inversor y, ambas, la propia senal y su 
inversa, se Uevan a una puerta AND. Como toda puerta Ueva asociado un retardo de transmision, a la 
salida de la puerta AND aparece un pulso muy estrecho, justo del valor de ese retardo, Si no fuera 
suficiente para provocar el disparo de las otras puertas siempre podriamos aumentar el retardo 
ailadiendo mas inversores, en mimero impar. En \afigura 8.15 se incluye tambien el simbolo de estos 
biestables, con el triangulo en la entrada de reloj, indicando que es una entrada dinamica. 




pequeno , 
retardo 



Ck 
Ck' _ 
R 
S 

Q . 



JUUIJUUI 





s 


Q 


] 




>c 








R 


Q 


o — 



Figura 8.15. Circuito de modificacion de los pulsos del reloj para disparar por flancos positivos al 
biestable R-S. 



Ejercicio. Dibujar el cronograma correspondiente a una misma sucesion de niveles de tension en 
las entradas de set (S) y reset (R) de tres biestables R-S: a) El bdsico, b) uno 
sincronizado a niveles y c) otro disparado por flancos positivos. Dibujar en los tres 
casos la evolucion temporal de la salida Q. 

Solucidn: 

En todos los casos vamos a evitar la configuracion R=S=1 

Case 1: Biestable R-S Bdsico. En este caso la respuesta del circuito es la correspondiente a la 
tabla de funcionamiento de lafigura 8.11 y el biestable cambiara o no de estado de acuerdo con los 
cambios en los valores de los nivele de las entradas. Asi, para las entradas Ry S que se muestran en la 
figura 8.16 obtenemos como respuesta la Salida 1. Para construir esta salida suponemos que 
inicialmente (t=to) el biestable esta en el estado "0", es decir, Q=0. Como inicialmente las entradas 
son R=S=0 el biestable no cambiara de estado y por tanto Q=0. En t=t] la serial S pasa a alta dando 
lugar a la configuracion de entrada R=0, S=l que hace que el biestable cambie de estado y pase al 
estado de alta, ya que S=l. A continuacion hay un intervalo de tiempo muy estrecho (justo antes de 
t2,) en el que el pulso de S pasa a baja y aiin no ha subido la seiial de R. Durante este tiempo la 
configuracion de entrada es la 00 que como hemos visto en la tabla de funcionamiento del biestable 
permanece en el mismo estado anterior. En ts es la entrada R la que pasa a alta mientras que S 
permanece en 0, por tanto, esta configuracion pasara al biestable al estado de baja. En este estado 
permanece hasta que vuelve a aparecer un pulso en S que hace que vuelva a pasar a alta al biestable. Y 
asi sucesivamente. 

Si observamos globalmente la salida 1 vemos que cada vez que hay un paso de baja a alta en la 
entrada S (con R=0)la salida 1 tambien pasa de baja a alta y pasa de alta a baja cuando la entrada R 
lo hace de baja a alta (con S=0). Sin embargo, entre tg y tg la senal ^presenta dos pulsos, pero como 
durante todo ese tiempo R esta en baja, el resultado es el mismo que si solo existiera el primero de los 
pulsos (ante la configuracion 00 permanece en el mismo estado o sea, en alta y ante la configuracion 
R=0 y S=l pasa a alta, o sea en el estado en el que ya estaba). 

Caso 2: Biestable R-S sincronizado a niveles. La respuesta de un biestable R-S sincronizado a 
niveles (circuito de \a figura 8.14) ante las mismas seiiales de entrada del caso anterior es la salida 2 
que se muestra en Xa figura 8.16. 



El primer cambio tiene lugar en tj ya que la entrada 5 pasa a alta y el reloj esta tambien en alta. 
Entre // y t2 el reloj cambia de estado pero la salida no lo hace hasta t3 que pasa a baja, ya que se 
vuelve a presentar la condicion de que el reloj esta en alta y las senales de entrada presentan la 
configuracion R=I y S=0. Los siguientes cambios se realizan siempre que el reloj pasa a alta y en las 
entradas estan las configuraciones 016 10 (ts, tj y tg). 



R 






j \ 














/' 




^ 








n 


^ 












■' 


' 


i ' 




; 








1 1 








S 1 






'. / 


! "\ 




! /' 


\ 




— f— ! 








'» 






1 * 




■' 




i V 




'■ Tl 






Salida 1 1 


! X 




i i. t 




i ^ 










1 
















^ 








Ck 




i 

/ 1 






1 




: 














' ! 


/ 


1 


/ 


! 


,' 


. 1 , 








Salida 2 


I 


*■ 


^ 


► 


»»■ 


► 




Ck' 


" 


~ 




— 




— 


i 
! 


— 


- 


























— 


Salida 3 i 


j i : 






















i 










r 

i 













to tl 



t2t3 



t4t5 



t6 



t8 



t9 



tio 



Figura 8.16. Respuestas de los biestables R-S basico, sincronizado a niveles y disparado por flancos positivos a 
las mismas senales de entrada. 



Caso 3: Biestable R-S disparado por flancos positivos. El circuito es el de \a figura 8.15 y la 
salida que se genera ante las mismas senales de entrada de los casos anteriores es la que se muestra 
como salida 3 de Xa figura 8.16. En este caso, como vimos en la teoria, a partir del reloj extemo, Ck, 
se genera una nueva seiial de reloj (Ck') de igual periodo pero con los pulsos mucho mas estrechos y 
que se corresponden practicamente con los flancos de subida. Estos pulsos aparecen en Iq, 13, ts, tj, tg 

ytio- 

En tj la salida es puesto que cuando el reloj pasa a alta la configuracion de entrada es 00. En 
ti la salida sigue siendo porque en este caso la entrada que esta en alta es i? y su funcion es poner a 
al biestable. El primer cambio tiene lugar en el instante ts en el que el reloj pasa a alta y la 
configuracion de entrada es R=0 y S=l, por tanto, el biestable pasa al estado de alta. Permanece en 
este estado hasta el siguiente pulso de reloj, ty^ en el que la configuracion de entrada ya ha cambiado y 



en ese instante presenta los valores S=0 y R=l, por lo que el biestable pasa al estado de baja. En tg y 
tjo sigue en estado de baja porque las configuraciones de entrada son S=0 y R=l en tg y S=R=0 en 
tlO- 

Como podemos observar los tres biestables tiene distinto comportamiento y ante las mismas 
entradas dan lugar a salidas diferentes. 



8.3.4. R-S Sincronizado a Nivel y con Entradas Asincronas de Preset y 
Clear 

En la anterior configuracion del R-S los cambios de estado no podian producirse mas que a 
traves de las entradas i? y iS* y de forma sincrona, coincidiendo con el estado de alta de los pulsos del 
reloj. Sin embargo, para conseguir una mayor flexibilidad en el diseno de otros circuitos tales como 
contadores o registros de desplazamiento, para establecer condiciones iniciales y para provocar 
cambios forzados de forma asincrona, sin necesidad de coincidencia con los pulsos de reloj, se 
incluyen dos nuevas entradas asincronas adicionales llamadas de preset (puesta a 1) y clear (puesta a 
cero). Esto se puede conseguir aiiadiendo dos puertas OR detras de las NOR y cerrando ahora los 
lazos de realimentacion desde estas puertas OR adicionales, tal como se muestra en el circuito de la 
figura 8. 1 7. 



Pr 



Ck II 



CI 




Pr 


a 


Ck 


R 


S 


Qn+l 





1 


X 


X 


X 





1 





X 


X 


X 


1 


1 


1 


X 


X 


X 


Nopermitido 











X 


X 


Qn 








1 








Qn 








1 





1 


1 








1 


1 














1 


1 


1 


No permitido 



Figura 8.17. Biestable R-S sincronizado a nivel con entradas Pr y CI asincronas. 

Asi, independientemente del valor de las entradas R y S y del reloj y, actuando de forma 
prioritaria, siempre que preset pase a alta {Pr = J), la salida del biestable pasara tambien a alta (Q=l). 
Inversamente, si clear pasa a alta (CI =1), la salida pasara a baja (Q=0), independientemente tambien 



del valor de las otras senales y con prioridad. 



Ejercicio: Simular el biestable R-S sincronizado a nivel con preset y clear de lafigura 8. 1 7. 
Solucion: 




S.Ous 



Figura 8.18. Simulacion de un biestable R-S controlado por las senales de preset {Pr) y clear(C/). 

En el cronograma de la simulacion podemos observar como actiian el preset (Pr) y el clear (CI). 
Inicialmente, en to, Pr pasa a 1 mientras que CI permanece en 0, por tanto la salida es 1 
independientemente de los valores de las entradas R y S. Posteriormente la senal Pr pasa a 
presentandose la configuracion de 00 para Pr y CI. Con esta configuracion (que dura desde tj hasta t, 
en que CI pasa a alta) el biestable R-S acttia como tal, produciendose la salida de acuerdo con las 
distmtas configuraciones dcRySy cambiando de estado cuando el reloj esta en alta. Observese los 
retardos (de 27 y 55ns) existentes entre los cambios de estado en la salida, Q, y las subidas de reloj 
debidos a la suma de los retardos producidos por las distintas puertas 



En t4 la senal CI pasa a alta haciendo que la salida pase a baja. For ultimo en t^ la senal Pr pasa 
a alta poniendo al biestable en estado de alta. 



8.4. BlESTABLES J-K 

Un problema importante de los biestables R-S es su ambigiiedad ante la configuracion R=S =1, 

que hacia que la salida Q fuera igual a la g . Este problema lo resuelve la configuracion J-K haciendo 

que en este caso (R=S=1) el biestable cambie de estado {Q„+; =Q„ )• Asi queda perfectamente 

definido el comportamiento para las cuatro configuraciones posibles en las seilales de control. La 
entrada y hace la funcion de la S ("Set", puesta a 1) y la ATla de la R ("Reset", puesta a 0), de forma 
que ahora, cuando no hay pulso de reloj no hay cambios, pero cuando al pulso de reloj esta en alta 
actiian las entradas J y AT. Asi, 



Si 


J=K = 


-*■ 


No cambia de estado 


- 


Qn+1 


= Qn 


Si 


J=l y K = 


-*■ 


Pasa a "1 


- 


Qn+1 


= 1 


Si 


J=0 y K = l 


-*■ 


Pasa a "0" 


- 


Qn+1 


= 


Si 


J=K = 1 


-*■ 


Cambia de estado 


-► 


Qn+1 


= Qn 



La figura 8.19 muestra el circuito correspondiente al biestable J-K sincronizado a nivel. La 
clave del diseno esta en las realimentaciones que se traen de las salidas de las puertas NOR a las 
puertas AND de entrada para producir las seiiales efectivas de set y reset (S' y R'). Asi se evita el 
problema del R-S, porque cuando las entradas Jy K estan a la vez en alta, la salida de la puerta OR 
que esta activa en ese momento (Qy Q) hace que la puerta AND correspondiente (la deK6\adeJ) 

pase a alta su salida (R' 6 S') y, por consiguiente, haga volcar al biestable en cualquier caso. En 
efecto, como 



R'=Q„KCk 
S'^Q„JCk 

Si Qn = l, R'-l y Qn+1=0 



[8.11] 



Analogamente si 



Q„=0,Q„^l,S'=lyQ„^,=l 





(b) 



(c) 



(e) 



(J) 



Ck 


/ 


K 


Qn 


Qn+1 





X 


X 


X 


Qn 
























1 


1 







1 













1 


1 







1 








1 




1 





1 


1 




1 


1 





1 




1 


1 


1 






Ck 


J 


A^ 


Qm+1 





X 


X 


Qn 


1 








Qn 


1 





1 





1 


1 





1 


1 


1 


1 


Wn 





00 


01 


u 


10 










fT) 








1 


-■n 




i_L 





r 



(d) 



00,01/0 

1 



10,11/1 



Qn+i=JQ„ + RQ„ 



01,11/0 



00,10/1 




Figura 8.19. Biestable J-K sincronizado a niveles. (a) Circuito. (b) Simbolo logico. (c) Tabla de verdad 
completa. (d) Tabla simplificada. (e) Minimizacion de la expresion de Qn+i. (/9 Ecuacion logica 
resultante. (g) Diagrama de transicion de estados. 

Observese que si dejamos permanentemente J=K=1, hay un cambio de estado cada pulso de 
reloj. Este comportamiento del J-K corresponde a la configuracion de disparo T ^ Toggle") de la que 
hablaremos mas adelante al mostrar como se pueden sintetizar todos los tipos de biestables a partir del 
J-K. 

En la figura 8.19.a se muestra la tabla de verdad ampliada, haciendo aparecer las ocho 
configuraciones logicas posibles para J,KyQ„y viendo los terminos minimos que defmen el nuevo 
estado, Qn+i. En 8.19.b se minimiza y en 8.19.C se muestra el resultado de la minimizacion con la 
ecuacion que define el comportamiento y que repetimos aqui por comodidad 



q„,,^qXjk + jk]+qXjk + jk]=q„k + q„j 



[8.12] 
Finalmente, en la parte {d) de \afigura 8.19 se muestra el diagrama de transicion de estados. 

Aunque los biestables J-K disparados por nivel resuelven el problema de los R-S cuando 
R=S=1, todavia quedan otros problemas sin resolver que nos van a llevar a configuraciones mas 
complejas, con dos biestables R-S disparados por fiances y con separacion de la orden de disparo de 
su ejecucion. El problema fundamental del biestable J-K es que cuando J=K=1 y el pulso de reloj esta 
en alta se produce una situacion inestable, con la salida oscilando entre "0" y "1" como consecuencia 
de los retardos de propagacion de las sefiales a traves de los dos lazos de realimentacion que se 
cierran sobre las puertas NOR (como en el R-S) y sobre las puertas AND de entrada. 

Veamos este problema analizando con detalle la configuracion J=K=1 a partir del estado inicial 
Q=0 y suponiendo que durante el tiempo al que se hace referencia en el proceso de analisis la serial 
del reloj permanece en alta. La figura 8.20 ilustra la secuencia de procesos intemos en seis "fotos", 
instantaneas, del proceso de realimentacion y transmision de las seiiales. Suponemos que ambas 
puertas, las AND y las NOR, poseen el mismo retardo de transmision (At) y que la transmision por 
conductores es instantanea. 

En la primera "foto" (parte (a) de \a figura 8.20) tenemos las condiciones iniciales. Si hemos 
supuesto que J=K=1, Q=0 y Q = l, y el reloj en alta, estos valores de Q y Q aparecen 
instantaneamente a las entradas de las puertas AND y NOR. Asi, inicialmente tenemos Q=0, K=l y 
Ck=l como entrada de la primera NAND y Q = l ,J=1 y Ck = 1 como entrada de la otra NAND. De 
las NOR (en este momento) solo sabemos que Q-1 se realimenta a la primera NOR y Q=0 se 
realimenta a la segunda NOR. 

Un intervalo de tiempo, At, mas tarde {T "foto", correspondiente a la parte {b) de \& figura 
8.20), ambas puertas AND ya ban calculado y tenemos en sus salidas los resultados de esos calculos. 
Asi, en la salida de la AND de K tenemos un "0" y en la AND de / un "7", que se transmiten a la 
entrada de sus NOR correspondientes. 

Un intervalo de tiempo mas tarde {t=2At), ya ban calculado tambien las puertas NOR (las AND 
lo ban hecho concurrentemente) y nos ban producido las salidas Q=0 (NOR de Q y \) y Q = {Ae 
nuevo, NOR de y 1). 



t=0 -- 



t=At 



t =2At 




2=0 




2=1 



Q=0-*0 




2=1-^0 



Figura 8.20. Analisis detallado de la evolucion temporal del proceso de realimentacion en un biestable J-K 
disparado por pulsos de reloj, sincronizados al nivel de alta. Se muestran 8 "fotos" (instantaneas) 
correspondientes a las distintas fases de transmision de las senales en los lazos de realimentacion a 
traves de los retardos {At) inherentes a las puertas AND y NOR. 



t=3At — 



t=4At -- 



t =5At — 




Q =0-*0-^l 



e=i-^o-^fl 




e=o-^o-^i-^i 



e=l-^0-^Q-*0 




e=o-^o-^i-^i-»o 



g=l-^0-»-Q-^0-»-0 



Figura 8.20. (cont) Para facilitar la comprension de la figura hemos senalado con negrita los valores calculados 
en cada intervalo de tiempo y hemos usado el codigo de distintos subrayados para seguir la 
trayectoria y la secuencia de los sucesivos valores de ^ y 2 ■ 



Este estado extemo se realimenta de nuevo a la entrada de las AND, de forma que en la cuarta 
"foto" (t=3At), si todavia sigue active (en alta) el pulso del reloj y los valores de J=K=1, el circuito 
realimenta este estado transitorio y da lugar a una salida Q=l yQ = 0. Este proceso se repite dando 
lugar a una secuencia oscilatoria no deseada. Si se sigue este analisis, no es dificil de comprobar que 
la secuencia de salida es (0,1), (0,0), (1,0), (1,0), (0,0), (0,1), etc... 

Una primera solucion de este problema es disminuir la anchura del pulso de reloj para que no 
de tiempo mas que a una transicion. Es decir, que sea del orden de los retardos de propagacion. Asi, 
cuando la realimentacion presente un nuevo valor de g y g a las entradas de las puertas AND, el 
pulso del reloj ya esta en baja y, por consiguiente, no son operativas. El estado inicial no debe poder 
provocar mas que una transicion (en su caso). 

8.4.1. Configuracion "Master-Slave" 

Para evitar estos problemas de los biestables J-K disparados a nivel, se usa una configuracion 
con dos biestables conectados en serie y con reloj es complementarios que interrumpen la conexion 
logica entre la salida y la entrada. Es decir, entre la generacion de la orden de disparo (funcion de las 
seiiales de control J,Ky Ck) y su ejecucion (funcion de la salida del primer biestable), que opera en la 
fase complementaria del reloj. Asi, se rompe la parte interna del lazo de realimentacion. 

Esta configuracion del biestable J-K se llama "Master-Slave" (maestro-esclavo)**) y se muestra 
en \afigura 8.21. Al maestro le entra directamente el pulso de reloj y las seiiales J y J^. Al esclavo le 
entra las salidas del primero y el pulso de reloj invertido de forma que nunca pueden estar ambas 
secciones facilitadas a la vez. Cuando el pulso de reloj realiza una transicion, el maestro captura los 
datos presentes en las entradas J y i<:. A continuacion se inhibe y queda aislado tanto de las entradas 
como de las realimentaciones de la seiial de salida {QyQ del esclavo). La desconexion del maestro 
coincide con la conexion del esclavo de forma que cualquier cambio que pueda presentarse en la 
entrada ya no afectara a la salida. 



<' "Master-Slave" ha sido traducido por "maestro-esclavo", "dueno-esclavo", "principal-subordinado", 
intentando transmitir en todos los casos la idea de separacion y subordinacion de funciones 



Ck] 

J - 



(a) 



(b) 



(c) 





Ck2 



Ck2 U VL-t--'--. 



Master 



{; 



Slave rs2=Qj. 

Q=Q2- 



Master facilitado: cambia 
al estado determinado 
por las entradas Jy K 

Reloj Master: Ckj 
Reloj Slave: 



Y^^l 



xr^uT^iS-^ 



Ck2 ^ 



Slave inhibido: retiene 
el estado del master 




- Master inhibido: retiene 
el estado anterior 



tj t2 



t3 t4 



Slave facilitado cambia 

al estado determinado 

por la salida del master 



Figura 8.21. Configuracion J-K "master-slave", (a) Circuito. (b) Cronograma con la evolucion temporal de las 
senales durante el disparo de im J-K "master-slave", (c) Reloj en Ckj y Ck2, ilustrando los 
instantes de conmutacion en ambas secciones. 



En la parte {b) de la. figura 8.21 se muestra el cronograma ilustrando los puntos en los que se 
realizan las transiciones en los pulsos de reloj y los correspondientes cambios de estado en las 



secciones maestro y esclavo del biestable durante el proceso de disparo. En 8.21.c se muestra el 
detalle de estas transiciones sobre el pulso {Cki) y su complementario {Ck2). 

Observese que el resto de la configuracion del J-K se mantiene igual que antes. Es decir, 
continuan existiendo las dos realimentaciones extemas desde QaKy desde Q aJ. 

Existen otras soluciones altemativas a la configuracion "master-slave" que mantienen sus 
caracteristicas de aislamiento pero son mas rapidas. En la configuracion "master-slave" hay un retardo 
intrinseco a su modo de funcionamiento pues hay que disparar dos biestables en serie para completar 
una transmision desde las entradas R y S del "master "hasta las salidas {Q, Q) del "slave". Para 
resolver este problema se ban disenado otros tipos de biestables disparados por flancos 
("edge-triggered"), tipo SN7470, 101, 102 6 108 (dual). La sefial de salida de un biestable disparado 
por flancos aparece practicamente a continuacion de la seiial de disparo. El linico retardo es el 
inherente a las puertas NAND 6 NOR con las que se ha diseiiado. 



Ejercicio 



El biestable J-K disparado a nivel admite las mismas mejoras que hemos comentado 
previamente para el R-S. Es decir, el disparo por flancos y la inclusion de terminales 
asincronos para preset y clear. Explicar el funcionamiento del J-K disparado por 
flancos con entradas asincronas de preset y deary calcular la evolucion temporal de la 
salida Qpara el conjunto de senales Pr, CI, J y K que se muestran en el cronograma de 
lafigura 8.22. 



Ck'_\ 
K 

J J 

Pr ~\_ 
CI 



J 



Figura 8.22. Cronograma del J-K disparado por flancos con Pr y CI. 



Solucion 

Para el disparo por pequenos pulsos asociados a las transiciones de baja a alta del reloj, 
podemos usar un circuito como el de \afigura 8.23 y para mcluir preset y clear asincronos ponemos 
dos nuevas puertas OR a la salida de las NOR, con lo que el circuito queda: 




pequeno / 
retardo 



K 


^ ^^ ^^^ • 


Q 


\ 








' J\ 


1 — 


J 


-J ^ a -^ 


Q 



Ck 
Ck' 








— 














1 - 


K 
J 














i 








1 1 














. Q*- 
















Pr 
CI 

Q 




\ 

\Preset pone a 1 

1 














P 


1 Clear pone a 

I 










1 — r 








A 



Preset y Clear no actuan y pasa la 
seiial controlada por Jy Kpone a 1 

T 

Q*= Salida sin Preset ni Clear 



Pasa la serial 



Figura 8.23. Circuito de disparo del J-K por pulsos estrechos. 



Ejercicio: La configuracion "esclavo-maestro " que hemos visto para el biestable J-Kpuede usarse 
para cualquier otro biestable. Consiste en usar dos biestables iguales uno para generar 
la orden de disparo y otro para ejecutarla y almacenar el estado en un intervalo 



complementario de los pulsos del reloj usados en el primero. Proponer un circuito para 
biestables R-S con puertas NOR y completar el cronograma correspondiente al conpxnto 
de senales significativas (R, S, Ck, Qi, Q, , Q2, gj. 



Solucion: 



R-Sl 

(maestro) 



R-S 2 

(esclavo) 



R 



Or 




s 


n 




c 






R 


n 


T 



Q 



o 






Ck2=Ck ~W 

R 

S 
S2= Qi . 



R2= Qi _L 
Q 



■t-v- 



1-^ 



v 



tr 



un_r 



^0 ti t2 t3 t4 

Figura 8.24. Configuracion maestro-esclavo con R-S 



-+-t- 



h t6 



Hay soluciones integradas en TTL y en otras tecnologias para todos los biestables J-K descritos 
en este apartado (disparados por flancos o por pulsos, en configuracion maestro-esclavo y con Pr y CI. 
Por ejemplo el circuito SN7473 contiene dos biestables J-K "master slave" independientes, disparados 
por pulsos y con salidas complementarias. El 74109 contiene tambien dos biestables J-K 
independientes disparados por flancos positives y con entradas asincronas de preset y clear, activas 
en baja. Un nivel de tension bajo en estas entradas pone a "1" 6 a "0", respectivamente, las salidas del 
biestable. Cuando las entradas de preset y clear estan inactivas (en alta), las seiiales de control enJy 
X'producen las transiciones correspondientes en las salidas en los flancos positivos del pulso de reloj. 
Como veremos en el siguiente apartado, estos circuitos pueden conflgurarse para operar tambien 
como T o como D. La version de uso libre del simulador PSpice tiene tambien muchas de estas 
opciones (7474, 7478, 74109, etc.) 

8.5. Biestables T y D 

El biestable T cambia de estado ante cada pulso de reloj. Es el ejemplo que usamos para 
introducir la teoria de automatas al comienzo del tema. Se obtiene, por ejemplo, a partir de un J-K 
conectando ambas entradas juntas. Lafigura 8.25 muestra la conversion de J-K en T, la tabla de 
verdad y el diagrama de transicion de estados. 

La ecuacion logica de este biestable se puede escribir por simple inspeccion de los dos terminos 
minimos que posee Qn+l ^^ funcion deTy Q^. 

Qn.,=TQ„+TQ„ ^sj^j 

Es decir, el biestable T genera un estado de salida que, es el "OR-exclusivo" de la entrada y el 
estado anterior. Se dispara siempre que no hay coincidencia entre el estado actual (g„) y la entrada 
(7). Ante un tren de impulsos en su entrada de reloj, cambia de estado cada nuevo pulso. 

El biestable D (Delay) representa el retardo. Su salida en cada intervalo coincide con la entrada 
en el intervalo anterior. Al igual que en el T, se puede obtener a partir de un R-S 6 un J-K uniendo la 
entrada D directamente aS oJy usando un inversor para activar la i? 6 la K, tal como se muestra en la 
figura 8.26, donde se incluyen tambien la tabla de verdad, la ecuacion y el diagrama de transicion de 
estados. La linea D es la linea de entrada de datos al biestable. Cuando D=l, S=l y R=0 y el 
biestable pasa a alta. Inversamente, cuando D=0, S=0 y R=l y el biestable pasa a baja. Al estar unidas 



Ry Sa traves de un inversor, la configuracion R=S=1, no puede darse nunca. Al estar sincronizado a 
niveles, el dato (D=0, D=l) solo se puede transmitir a la salida durante el pulso de reloj, Ck. 





(c) 



Ck 


T 


Qn 


Qn+1 





X 


X 


Qn 


1 











1 





1 


1 


1 


1 





1 


1 


1 


1 






(e) 



Q„+l = Ck(TQ„ + TQ„) 



T=l 



T=0 



(d) 



Ck T 


Qn+l 


X 

1 
1 1 


Qn 
Qn 
Qn 




(f) 



T=l 



Figura 8.25 Configuracion T. (a) Obtencion del T a partir de un J-K haciendo T=J=K. (b) Simbolo logico. (c) 
y (d) Tablas de verdad. (e) Expresion logica. (f) Diagrama de transicion de estados. 



Todos los biestables admiten la configuracion "master-slave" duplicando el circuito basico 
correspondiente a su disparo a niveles y usando la senal de reloj y su complementaria para activar 
ambas secciones de forma sucesiva y mutuamente exclusiva. La figura 8.27 muestra un ejemplo de 
biestable D "master-slave" disparado en el flanco positivo de los pulsos de reloj. Observese que esta 
figura es una repeticion de la 8.26.a duplicada y con un inversor anadido a la entrada de reloj de la 
primera etapa. Cuando Ck=0, antes del primer flanco de subida en el pulso de reloj, la salida Qj del 
primer biestable R-S sigue a la senal de entrada, D. Cuando Ck pasa de a 1, el valor de Qj se 
estabiliza pues la seccion "master" queda inhibida. Entonces la salida Q2 del segundo biestable sigue 
al valor de Qj 



Ck- 



(a) 



(c) 



(d) 




Ck 


D 


Qn+l 





X 


Qn 


1 








1 


1 


1 



Qn+l = CkD 



(b) 



D Q 

C 



D=l 




D=l 




(e) 



D=0 



Figura 8.26. Configuracion D. (a) Circuito. (b) Simbolo logico. (c) Tabla. (d) Ecuacioa (e) Diagrama de 
tran*,ici6n de estados. 



Ck _f 

Ck ~|_|., ; 

1 \ .' 


1 1 1 1 1 


D _\ W 


1 ' ! 1 ' 


Q, ' \ 


■■M 


Q -^ — 


t '-^ 



to tj t2 t} t4 t} 











JNrv-. 


Rn 


X 


Master 


Qi 


r~ 


N_ 


R^ 




Slave 




D 




p.u 


^ 




M 


1 


^ 


— 




> 


Ck 


> 


X 




Ck 






H 






Ck 






















Si 


) 


^ 






52 


^ 






JV^ 


_J^ 




















Figura 8.27. Configuracion D "master-slave" y diagrama de tiempos. 



8.5.1. D disparado por Flancos 

Aunque ya hemos descrito un procedimiento general para pasar del disparo por nivel al disparo 
por flancos de cualquier biestable (retardando el pulso, invirtiendolo pasandolo por una puerta AND), 
hay disenos especificos para biestables D disparados por flancos, como el que se muestra en lafigura 
8.28, correspondiente a circuitos tipo SN74LS74A, al que inicialmente y por razones pedagogicas 
hemos despojado de las entradas de preset y clear. 

Asi, el niicleo de un biestable D disparado por flancos consta de tres celdas R-S (celda de set, 
celda de reset y celda de salida). Las dos primeras generan las senales intemas R y S, que son 
recogidas por la ultima, separando la entrada de la salida. 

La celda de set sigue los cambios en la senal de reloj si D=], en el momento de la transicion de 
baja a alta de Ck, mientras que la celda de reset sigue al reloj si D=0 en le momento de la transicion 
de baja a alta de Ck. Es decir, las seilales enAyB registran los cambios de D cuando Ck =0. 

Sigamos ahora el cronograma de la parte (b) de \afigura 8.28. Mientras que el reloj esta en baja 
(Ck=0), las senales S y R estan en alta, ya que son salidas de una puerta NAND con una entrada en 
baja, reteniendo asi el estado que tenia la celda R-S de salida. Por ejemplo, si el estado inicial era 

(Q=0) la puerta de Q tiene el NAND de (1,1) que es y la de g el NAND de (1,0) que es 1. • 

Cuando, en t=to, D pasa a alta, las salida B pasa a baja {B=0) un tiempo despues igual al 
retardo de transicion de la NAND (At). Asi, en t=to+At, B=0 y otro retardo mas tarde, en t=to+2At, A 
pasa a alta (A=]). La salida Q no se modifica hasta que la subida del pulso de reloj (Ck=l) en t=ti 
fuerza a que S pase a cero en t=t]+At y, consecuentemente, Q=l en t=t]+2At. Cuando el pulso de 
reloj vuelve a cero (Ck=0) en t2, S vuelve a 1 en t=t2+At dejando Q=l. Cuando D pasa a cero en ts, B 
pasa a 1 en t=t3+At y A pasa a cero en t=2t3+At. 

Tras el flanco de subida del reloj en el tiempo t4, R cambia a en t=t4+At y Q pasa 
tambien a cero un retardo mas tarde, en t=t4+2At. El cambio en el valor de D en ts no se 
registra hasta el flanco de bajada de la seiial de reloj, Ck, en t^ cuando R vuelve a 1 (en t^+At ) y B 
pasa a (en 1 6+2 At) yA=l (en 1 6+3 At ). Asi, en t7+2At, Q se pone a 1 tras el flanco de subida del 
pulso de reloj en ty y la bajada de S en tj+At. 




Ck 














































D 




i 
















































A — H ^^' * 


1 — >-2At 


* 1 — A 3At 


< 






2At 


* 




























s 




\At 


— ►• 


At 


*-^ 


— 




► 


At 


► 


At 


^ 












! 














\ 






R \ 


>\Att 


-i — ► 
(^ 


At 


< 
























! 






B — ^ 


At 




— Am 


-*- 


— 1 " 




2At 


* — 


-*-\At 


























' 






Q i^^' 


^ ! 




*■ 3At ' 


I * 


2At 









































to t] t2 ts t4 ts ts 



ty tg tg 



Figura 8.28. Descripcion por retardos del funcionamiento del biestable D disparado por flancos y sintetizado 
con puertas NAND (S=R=0 esta prohibido). 



Observese que si hay nuevos cambios en D fpor ejemplo el de t= tg), ya no se propaga hacia la 
salida hasta que se cumplan de nuevo las condiciones apropiadas, aunque el cambio si que es 
capturado por las celdas de entrada cuando B pasa de nuevo a 1 (en t=t8+At) y A pase de nuevo a 
(en t=t9+2At). Asi se aisla, con una idea analoga a la de la configuracion maestro-esclavo, la captura 
de la orden de su ejecucion, defmiendo un interval© temporal, entre dos transiciones positivas de los 
pulsos del reloj, durante el cual el biestable es un elemento de memoria que almacena un bit en el 
estado de su celda de salida (0. 

Si al circuito anterior (figura 8.28) le anadimos entradas de Preset (Pr) y Clear (C/) y lo 
duplicamos, tenemos el circuito integrado SN74LS74A que contiene dos biestables D disparados por 
flancos positives con entradas asincronas de puesta a "1" (Pr O = 07 ) y puesta a "0" (PrCl = 10) 
activas en baja, para establecer condiciones iniciales. Para dejar el control a la entrada sincrona D, 
preset y clear permanecen en alta, tal como se muestra en la tabla de funcion de \a figura 8.29, que 
incluye tambien el simbolo logico. 

Los circuitos biestables (D, T, R-S y J-K), y en particular el J-K, del que se pueden obtener 
todos los demas, cumplen en logica secuencial funciones de sintesis modular analogas a las que 
cumplen las puertas NAND y NOR en logica combinacional. Es decir, el biestable J-K es el modulo 
basico para el diseno en logica secuencial. Cualquier automata fmito, y por consiguiente, cualquier 
funcion secuencial necesaria en un sistema de calculo digital, puede ser sintetizada usando biestables 
J-K. 

Los usos mas frecuentes de estos circuitos binarios son la sintesis de contadores, registros de 
desplazamiento, memorias RAM y macroceldas de salida en logica secuencial programable. Todas 
estas funciones seran estudiadas en temas posteriores y existen integradas en MSI, LSI y VLSI. Sin 
embargo, pueden existir aplicaciones que exijan el uso de biestables en pequefia escala. Por eso 
comentamos aqui algunos ejemplos de las soluciones integradas en SSI. Existen en practicamente 
todas las familias logicas (TTL, ECL, MOS y CMOS). A la hora de usar los catalogos es util 
distinguir entre "latches" y "flip-flops". Ambos son biestables y la distincion en la nomenclatura 
precede del metodo de disparo. Cuando el disparo esta sincronizado a niveles de la seiial de reloj, se 
denomina "latch" y asi aparecen los D. Cuando el disparo se produce linicamente durante las 
transiciones de la sefial de reloj, se denomina "flip-flop", y se ofertan generalmente en J-K y en D. 




Tpre W. 

ICLK ill 
ID (2) 
ICLR (^) [N 

IpreIM 

2CLK iiii 

2D (1^) , 
2CLR miliv 




PRE 


C£/f 


CLK 


/) 


Q 


Q 


L 


H 


X 


X 


H 


L 


H 


L 


X 


X 


L 


H 


L 


L 


X 


X 


H* 


H* 


H 


H 


T 


H 


H 


L 


H 


H 


t 


L 


L 


H 


H 


H 


L 


X 


Qo 


Qo 



Esta configuracion es (nestable, es decir, no se mantiene cuando o 
bien preset o clear vuelven a su nivel inactivo de alta. Ademds, no 
se garantiza que la salida en esta configuracion alcance los 
nheles minimos en VoH cuando los valores de baja de preset y 
clear estdn proximos a Vjj^ 



Figura 8.29. Circuito SN74LS74A. Dos biestables D disparados por flancos positives con preset y 
clear, (a) Diagrama logico. (b) Tabla de fimcion. (c) Simbolo logico. 



Asi por ejemplo en TTL, tenemos circuitos tipo SN74ALS114A que incluye 2 biestables J-K 
disparados a flancos, soluciones duales para biestables D (AS874), soluciones multiples con salidas 
de tres estados (ALS374) etc. Este ultimo circuito consta de ocho biestables D con salidas de tres 



estados y acceso para carga en paralelo. Los biestables se disparan en el flanco positive del reloj. Hay 
una entrada para controlar la salida que permite colocar las ocho salidas en los estados logicos 
normales (alta o baja) o bien un estado de alta impedancia, para operar en sistemas organizados en 
bus. De hecho el circuito es un impulsor bidireccional de bus. Mientras la senal de control esta en alta 
impedancia, no afecta al funcionamiento intemo de los biestables. Se pueden retener los liltimos 
valores de D o entrar otros nuevos. 

8.6. Problemas 

En este tema hemos introducido primero la teoria de automatas finitos como modelo 
matematico de la electronica secuencial viendo que todo lo que nos hacia falta para su sintesis ya lo 
conociamos saJvo los circuitos hiestaWes. El resto del tema se ha dedicado al estudio de las distintas 
configuraciones de disparo (R-S, J-K, T y D). 

For consiguiente, estos ejercicios se encaminan a repasar estos dos apartados (teoria de 
automatas y biestables) en su doble vertiente: andlisis y sintesis. En los ejercicios de analisis 
propondremos un circuito y preguntaremos por cual es la forma de onda a la salida para una 
configuracion determinada en las entradas. O bien, pediremos las funciones logicas que las enlazan. 

En sintesis propondremos la tarea inversa. Dada una funcion, ^como puedo conseguir un 
circuito que la realice?. En algunos casos esta funcion sera de caracter general. En otros 
correspondera a situaciones ya conocidas en las que cambiamos NAND por NOR, por ejemplo, para 
obligar al alumno a que siga el mismo camino deductive usado en el material teorico pero con otras 
puertas logicas. 

E.8.1. Dibujar el diagrama de transicion de estados, las tablas de transicion y la expresion logica 
de las funciones de produccion de estados y de salidas (fy g) para el circuito secuencial de 
lafigura, suponiendo que inicialmente el biestable esta en baja. 




^Cudl seria la secuencia de salida en y=y(Q,xl), si a la entrada aparece la siguiente 
secuencia? 



r. 






E.8.2. Dibujar el diagrama de transicion de estados y produccion de salidas, las tablas de 
transicion y la expresion logica de las funciones fyg para el circuito secuencial de la 
figura. 




Observese que ahora hay realimentacion desde la salida y por consiguiente a la entrada se 
calculan funciones de x(t) y Q(t) pero Q(t) procede de los valores de D en (t-At). Si el 

biestable D se dispara a subidas dibujar la evolucion temporal de la serial en Q cuando en 
la entrada x(t) y en el reloj Ck, aparecen las siguientes senales: 

x(t) f 



E.8.3. Analizar el circuito de la figura obteniendo el diagrama de transicion de estados y la forma 
de onda en las salidas yl ey2 durante sietepulsos sucesivos del reloj. 



-Tin 




Observese que al incluir dos biestables se trata de un automata de cuatro estados y 
recuerdese tambien la forma de conseguir una configuracion T usando J-K. La mica 
entrada externa en este circuito es el reloj Ck. 



Ck 



J~LO. 






iyo ? 



E.8.4. Sintetizar usando biestables D y las puertas logicas necesarias los siguientes automatas 
finitos de dos y cuatro estados. 





00/0 





10,11 /I 



00/0 



00,11/0 00,11/0 




00,01,10,11 /o 




E.8.5. Disenar un biestable R-S minimo disparado a niveles usando solo puertas NAND. Recordar 
que en una puerta NAND basta con una entrada en baja para que la salida este en alta, sea 
cual fuere el valor de las otras entradas. Partiendo del diseno anterior introducir el reloj 
(Ck) para que el disparo sea sincrono. Por ultimo modificar este circuito introduciendo las 
entradas adicionales de "preset" y "clear". 

E.8.6. Obtener un biestable J-Kprimero a partir de un biestable tipo D y despues a partir de uno 
de tipo T. 

E.8.7. Lafigura adjunta muestra un circuito formado por la conexion serie de tres bies tables J-K 
"master-slave" disparados por pulsos. El primero actua como tal J-K, sin ninguna 
restriccion en los valores de J y K. El segundo actua como D y el tercero como T. Dibujar 
las formas de onda que se obtienen en los puntos (1), (2) y (3) de la figura cuando a la 
entrada del primer J-Kse aplican las senales que se muestran en lafigura. 

Conviene recordar que el J-K "master-slave" utiliza los das flancos del pulso de reloj para 
realizar sus cambios de estado. Durante la subida del pulso se produce el cambio de estado 
interno de la salida de la seccion "master", que actua de entrada a la seccion "slave" y 
durante la bajada del pulso de reloj, se produce el cambio en la salida de la seccion "slave" 
que es la que se observa externamente. 

Esto significa que para construir el cronograma que sepide en este ejercicio hay que fij arse 
en los valores de J y K cuando suba el pulso de reloj para dibujar los valores en (Q, Q ) 
cuando el pulso baje. 



Ck 



V, 



6V2? 



~l 



njTi^ 



I~l 



^^^^ 



Preparacion de la Evaluacion 



Objetivos 



1 : Introduccion a los Automatas Finitos. Concepto de Estado 
2: Configuraciones Biestables: R-S, J-K, TyD. 



1 : Introduccion a los Automatas Finitos. Concepto de Estado 

1.1. Buscamos ejemplos que nos ayuden a evaluar el grado de comprension alcanzado sobre el 
concepto de estado. Para ello vamos a "descubrir " el procedimiento seguido en el texto para 
el caso del biestable "boligrafo " con otro ejemplo sencillo. 

a) Analice el comportamiento del circuito de lafigura adjunta y trate de obtener la tabla de 
verdad que le adjuntamos. 



-y(t+At) 




y(t) 


xM 


x,(t) 


R 


s 


y(t+At) 














1 


1 













1 


1 








1 


1 













1 


1 










1 





1 










1 





1 










1 


1 





1 


1 




1 


1 





1 


1 



Evidentemente, no le costard llegar a la conclusion de que la expresion logica es: 



xo(t) ■ 
x,(t) 




xM®Xi(t) 



t 

z(t) 



Retardo 



— y(t+At)= xo(t) ® x,(t) 



es decir, y(t + At) = z(t) = S(t) = XQ(t)®xj(t) 

b) Ahora que ya tiene las tablas y conoce el circuito y su funcion logica suponga que no 
conoce el circuito y que solo dispone de la informacion parcial que le da la medida de sus 



entradas y salidas de acuerdo con esta nueva tabla: 




y(t+At) 



y(t) 


Xo(t) 


xi(t) 


y(t+At) 1 











1 


1 








1 








1 





1 





1 








1 








1 


1 











1 


1 


1 


1 


1 


1 


1 



b.l. Trate de "descubrir" la nueva variable auxiliar, z(t), necesaria para que la tabla 

corresponda a un circuito combinacional real. 
b.2. Reflexione sobre el nacimiento de la secuencialidad al asociar la variable auxiliar, 
z(t), a la entrada del biestable D, de forma que la salida, y(t+At), es la entrada al 
biestable en el instante anterior. 
1.2. Repita el ejercicio anterior con la modificacidn introducida ahora en el circuito (una 
realimentacion interna de Q a lapuertaNOR). 



b) "Oculte " el circuito y compruebe la necesidad de introducir la variable zyel tiempo. 
^(0- 

y(t+At) 




1 .3. Revise el ejercicio E. 8. 1 del texto de problemas y repita el andlisis cambiando el biestable R-S 
que opera como Dpor un J-K operando coma T. 

1.4. Revise los ejemplos de sintesis (casos a y b) que se resuelven en el ejercicio E.8.4 del texto de 
problemas. Como se ve alii, se trata de pasar del diagrama de transicion de estados a las 
expresiones logicas de la variable de salida yde las entradas de disparo de los biestables. 



Disene ahora un circuito general para automatas de dos estados, una variable de entrada, Xq, y 
una variable de salida, y, de forma que sea cualfuere el diagrama de transicion de estados que 
nos propongan podamos sintetizarlo programando este automata general. Es decir, poniendo a 
1 6 a los bits que controlan las funciones de produccion del nuevo estado (f) y de la 
produccion de la salida a partir de la entrada y el estado (g). Aconsejamos pensar en un 
esquema como el de laflgura adjunta en el que (fo , fi , fi , fi) son los bits de control de los 
terminos minimos defy (go, gi, gi, gs) los bits que controlan g. 

Usar los conocimientos del tema 7 sobre PROM, PAL y PLA para decidir la forma mas 
conveniente de sintetizar las funciones universales de 2 variables. 



y 




f} f2 fl fo g3 g2 gl go 

1.5. Revise ahora la segunda parte del ejercicio E.8.4 del texto de problemas (casos c, d, eyf). Se 
trata de sintetizar, usando biestables Dy puertas logicas, varios casos de automatas finitos de 
4 estados con dos variables de entrada y una variable de salida. 

2: Configuraciones Biestables: R-S, J-K, T y D. 

2.1. En laflgura 8.12 hemos realizado un estudio detallado del comportamiento del latch R-S 
sintetizado con puertas NOR y en el problema E.8.5. del texto de problemas hemos vista la 
sintesis con puertas NAND. Repita para este caso la evolucion de las realimentaciones en los 
ocho casos posibles (R, Sy Q inicial iguales a : 000, 001, ..., 111). 

2.2. ^Por que una celda R-S bdsica no es vdlida como elemento de memoria?. ^Que entradas 
adicionales necesita?. 

2.3. ^Cudntas formas de disparo conoce para los biestables R-S?. Obtenga la evolucion de la 
salida Qpara cada uno de estos tipos de disparo cuando las senates en R, Sy Ck (reloj) son las 
de laflgura?. 



Ck_ 

s 

R 



J^jTLJTL_n_rLJi_;Lru" 



2.4. ^Como se modificaria la evolucion temporal de la salida de un biestable R-S disparado por 
flancos positivos al incluir las senales de preset y clear que se muestran en lafigura adjunta?. 
(Suponga Q inicialmente en baja). 



Ck 

S 

R 

Pr. 

Cl_ 



-rL-rL-rL_rL_rL_rL_rL_rLx 



JT 



2.5. Simule el circuito de lafigura adjunta y compruebe que el cronograma es el que se incluye 
esta mismafigura. 



en 




10us 



2.6. 



Le recordamos que en la figura 8.13 vimos el resultado de la simulacion de la celda R-S 

bdsica y su cronograma, incluyendo la oscilacion en la bajada simultdnea de R y S. Alii 

comentamos que una forma de eliminar la oscilacion era introducir un pequeno retardo en 

una de las ramas. Intente comprobar ahora esta situacion con el circuito propuesto en este 

ejercicio. 

Compruebe el comportamiento asincrono de los terminales de preset y clear usando el 

simulador. Como orientacion le sugerimos que simule la conflguracion adjunta. 



R 

s 

nPr 

nCl 

Q 




PSTM4 nPr 
|CLK_n_;> 




|CLK_n-r ; 



OS 



5us 



1BUS 



15US 



20us 



25us 



Time 



2.7. En la figura 8.20 del tema se muestra el andlisis detallado del comportamiento de un biestable 
J-K sincronizado a niveles para la conflguracion conflictiva J=K=1 con el estado inicial Q=0. 
Intente ahora reconstruir este proceso de andlisis para otras configuraciones mas sencillas. 
Por ejemplo para (J=l, K=0 y Q=l) y para J=0, K=l y Q=0). Recuerde el procedimiento 
consiste en considerar que cada puerta , AND 6 NOR, independientemente de su funcion 
logica, introduce un retardo, At, de forma que para entradas presentes en un cierto t los 
resultados del cdlculo realizado por la puerta solo los tendrd accesibles en t+At. Y estos 
resultados son a su vez variables de entradas para la puerta que viene detrds siguiendo el lazo 
de realimentacion. 



K 




^ ^ 




1 


J 1 Vh 


y=i 




^ 1 








/^ 












-^ ^- 




/ 1 








; ^-^ 


y=o 



2.8. Comprobar, usando un simulador tipo PSpice, el funcionamiento de un biestable J-K con 
Preset y Clear. Por ejemplo, para el circuito 74109 se obtendria el diagrama de tiempos de la 
figura. Explicar su funcionamiento y obtener la tabla de verdad a partir del diagrama de 
tiempos. 




5US 



1Bus 



15us 



Time 



2 Bus 



25us 



^^^^^ 



El contenido de esta tema es muy adecuado para el uso de un simulador. Las funciones 
secuenciales asociadas a contadores y registros de desplazamiento, asi como el comportamiento de los 
propios biestables T, D, J-K y R-S, estan estructxiradas conceptualmente sobre la evolucion temporal 
de un conjunto de senales. Es decir, sobre un cronograma. Asi, es dificil comprender el 
funcionamiento de estos circuitos si no somos capaces de seguir la evolucion temporal de las 
variables de entrada y de estado. De forma complementaria, cuando se comprende un cronograma 
hemos comprendido, de hecho, el funcionamiento de un circuito secuencial. For eso consideramos 
que es una buena estrategia docente el hacer enfasis en el uso de un simulador para la construccion de 
los cronogramas asociados a biestables, contadores y registros. 

Referencias Bibliograficas 

1. Gajski, D.D.: "Principios de Diseiio Digital" Prentica Hall, 1998. 

2. Sandige, R.S.: "Modem Digital Design". McGraw-Hill. 1990. 

3. Texas Instruments. "The TTL Data Book".\9%l . 

4. www.fairchidsemi.com 







introduccion al Dlseno Secuencial: 

Contaclores y Registros 



^- CONTEXTO 

En el tema anterior hemos visto una introduccion a la teoria modular de automatas finitos y 
deterministicos que es el modelo matemdtico de la electronica secuencial, de forma andloga a como 
el algebra de Boole era el soporte de la electronica combinacional. 

Vimos alii que para la sintesis secuencial necesitdbamos funciones de logica combinacional 
que ya habiamos estudiado en temas anteriores y retardos (biestables D) para almacenar el estado 
del sis tema. A continuacion, estudiamos los distintos tipos de biestables y la forma de sintetizarlos a 
partir de la configuracion mas general que era la del J-K. 

Ahora vamos a presentar el diseno secuencial con cierta generalidad y a ilustrarlo con 
funciones especificas (contadores y registros) usadas frecuentemente en todos los sis temas digitales. 
Queremos dejar claro sin embargo que el procedimiento de sintesis de circuitos secuenciales es 
completamente general. 



Lo peculiar de la presentacion que se ofrece aqui de la teoria de automatas en su orientacion 
hacia la logica secuencia programable (PLDs avanzadas y FPGAs) de forma que cuando dibujamos 
el esquema del circuito secuencial (parte combinacional, banco de celdas de memoria, 
realimentacion, ...) el modelo matemdtico usado tiene una muy directa y obvia relacion con la 
arquitectura de las CPLDs: primero la parte combinacional programable, despues las biestables Dy, 
finalmente, la realimentacion y, potencialmente, la parte combinacional de otra CPLD para la 
produccion de salidas a partir de la entrada y el estado del automata. 

-f -f CONOCIMIENTO PRE VIO NECESARIO 

Ya tenemos todo lo que necesitamos: un nuevo modelo matemdtico y los elementos de 
memoria. Con esto y el contenido de los temas sobre logica combinacional programable y no 
programable ya podemos abordar el diseno secuencial en general y, en particular, el de las dos 
funciones intermedias bdsicas: los contadores y los registros de desplazamiento. 

■S"^-^ Ob JETIVOS DEL TEMA 

Objetivo 1: Saber sintetizar circuitos secuenciales. Es decir, saber obtener un circuito a partir de 
la descripcion en lenguaje natural de la funcion que queremos que realice. Ademds, 
debemos saber llegar hasta el final en el proceso de sintesis usando biestables D 6 J-K. 

Objetivo 2: Conocer la estructura interna (puertasy biestables) y el comportamiento externa de los 
distintos tipos de circuitos contadores. Saber manejar los datos de catdlogo 
correspondientes y tener ciertos conocimientos sobre la funcion de estos circuitos 
cuando se integran en arquitecturas mas complejas. 

Objetivo 3: Conocer la estructura interna y el comportamiento de los distintos tipos de registros de 
desplazamiento. Saber manejar los datos de catdlogo correspondientes y tener ciertos 
conocimientos sobre la funcion de estos circuitos cuando se integran en arquitecturas 
mas complejas. 



^^-♦^-^ GUIA DE ESTUDIO 

Para fijar ideas sobre la linea metodologica seguida en el desarrollo de este material 
dtdacnco, conviene recordar que ert este tema dedicado al diseno secuencial estamos ert la misma 
postcion relativa en la que nos encontrdbamos en logica combinacional al comienzo del tema 5 Es 
dear, tenemos el modelo matemdtico y la sintesis de un conjunto complete de operadores (nor 
ejemplo, puertas NAND y retardos D) y debemos contestar a preguntas equi.alentes a las que nos 
nicimos en el tema 5°: 

a) ^Cudles son las funciones secuenciales de nivel intermedio que hacen falta para la sintesis de 
los grandes sistemas digitales de instrumentacion. cdlculo, comunicacion y control?. 

b) ^Como podemos sintetizar esas funciones intermedias usando biestables (D, T, R-S, J-K) y las 
funciones de logica combinacional que ya conocemos?. 

La contestacion en extenso a la primera pregunta es complicada y queda fuera del alcance de 
este curso. Entre otras razones porque seria necesario conocer con precision las necesidades 
computacionales de todas y cada una de estas aplicaciones antes de pasar a su sintesis. Es evidente 
sin embargo que sea cual fuese esa necesidad si es computable, siempre existe un automata finito 
que la describe y este automata es sintetizable, por ejemplo, mediante PLDs. 

Si nos limitamos dentro de los sistemas digitales a los sistemas de cdlculo y buscamos solo las 
necesidades bdsicas y de use mdsfrecuente en arquitectura de ordenadores, ya podemos aflrmar que 
lasjunciones secuenciales intermedias son.- 

a.l. Cont adores 

a.2. Registros de desplazamiento 

a.3. Temporizadores (monoestables) y relojes (astables, relojes polifdsicos, etc.). 

a.4. Memorias RAM (estdticas y dindmicas, con organizacidn FIFO, LIFO, CAM, etc.). 

La contestacion a la segunda pregunta Ucomo podemos sintetizarlas?) es el objetivo del resto 
de los temas. Es decir, ahora buscamos la especificacion, andlisis y sintesis de este conjunto minimo 
de funciones secuenciales intermedias (contadores, registros, relojes y memorias) esenciales para 
comprender la estructura interna de un ordenador. 



Dos reflexiones pueden ayudarnos en el estudio del tema. La primera es de procedimiento. 
Como siempre, usaremos circuitos sencillos, con pocos bits, para explicar las funciones de "contar" 
y "desplazar ". Veremos despues cual es el modelo formal subyacente y, finalmente, daremos "pistas " 
para continuar el estudio con circuitos reales de mayor complejidad y para conectar con el uso que 
se hace de estos circuitos en otras asignaturas. 

La segunda reflexion ya la hemos mencionado en otros temas, y se refiere a la necesidad de 
estudiar de forma coordinada los contenidos de la Electronica Digital. Es importante, a medida que 
avanzamos en el estudio de las funciones de la electronica secuencial, que el alumno recuerde que la 
Electronica Digital es el soporte fisico de la Computacion pero las funciones de "contador", 
"registro", "memorias RAM", "memorias pila" (FIFO), "memorias asociativas", etc... se repiten en 
el estudio de la Arquitectura de Computadores y se vuelven a repetir en el nivel software. Esta vision 
global creemos que puede ayudar al alumno a economizar esfuerzos y reutilizar ventajosamente sus 
conocimientos. Si sabe que es una memoria CAM en Electronica va a aumentar su comprension de 
los procesos asociativos en la arquitectura de las memorias cache y a nivel de programacion, par 
ejemplo. 



^^^ 



contenido del Tema 



9.1. INTRODUCCION AL DiSENO SECUENCIAL CON BlESTABLES D, T 
YJ-K. 

Los sistemas secuenciales pueden ser sincronos (guiados por los pulsos de un reloj) o 
asincronos (guiados por cambios de nivel en las variables; sin que tengan que coincidir con los pulsos 
del reloj). La sintesis sincrona es mas sencilla y solo de ella hablaremos a nivel general. Sin embargo, 
comentaremos la sintesis asincrona para alguna funcion especifica de baja complejidad (contadores). 

La sintesis de un circuito secuencial sincrono se puede hacer usando cualquier tipo de biestable. 
La forma mas natural, aunque no da lugar a realizaciones minimas, es la D, ya que en este caso la 
transcripcion de las funciones de transicion es inmediata. Es decir, como la ecuacion del biestable D 
es simplemente, Qn+l = D, es trivial el obtener la funcion de excitacion (Z)) necesaria para que el 
estado {Qn+l) sufi-a una determinada transicion (paso de g„ a Qn+l)- El estado final al que queremos 
que llegue el biestable D debe de coincidir con la funcion de excitacion, tal como se ilustra en la tabla 
de la figura 9.1. 

En un proceso de analisis, los datos son las entradas {D y el reloj) y la funcion que queremos 
obtener es la dependencia de la salida, {Qn+l), con el valor de la entrada y del estado anterior, que en 
los D es inmediato: 

Qn+1=D [9.1] 

En cambio, cuando tenemos que usar un conjunto de biestables D en la sintesis de un circuito 
secuencial concreto, el proceso es el inverso. Ahora el dato, lo que sabemos, es el diagrama de 
transicion de estados que necesitamos sintetizar. Es decir, las relaciones entre Qn y Qn+l para todos y 
cada uno de los biestables que forman el estado. En el caso del biestable D estas relaciones son las 
que se muestran en la parte (b) de Xa figura 9.1 y son tambien elementales: 



D = Qn+1 [9.2] 

Es decir, hay que poner en D lo que se quiera tener a la salida (Qn+l) en el proximo pulso de 



reloj. 



ANALISIS 



Circuito 



Tabla directa 




1D[=> 



Ck D 


Qn+l 


X 

1 
1 1 


Qn 



1 




Q„+l = CkD 



SINTESIS 



Diagrama de transicion de estados 

D=l 
D^O /-<r .--^ D=l 



Tabla inversa 




iDCZ> 



D=0 



(b) 



e» 


Q.+1 


D=Q„.j 














1 


1 


1 








1 


1 


1 










D = Qn+l 





Diagrama de transicion de estados 

D=l 

D=l 




D=0 



Circuito 




Figura 9.1. Ilustracion sobre un biestable D de los procesos de analisis y sintesis. (a) Analisis : Dado D, 
calcular Q. (b) Sintesis: Dado el Qn+1 que necesito, ^que D debo usar?. Es decir, ^.cual es la 
funcion de excitacion, a partir de la tabla de transicion de estados.? 

Una vez conocida la funcion de excitacion del biestable D, ya podemos usarla en la sintesis de 
circuitos mas complejos con 2^ estados que usan A'^biestables D para su sintesis. 



Ejercicio: Sintetizar, usando un biestable D, el circuito secuencial correspondiente al automata de 
dos estados de la figura. 




Solucion: 

Como tiene dos estados, asociamos SoaQ = OyS]aQ = J. Llamamos x a la entrada e ^^ a la 
salida y obtenemos las tablas de verdad volviendo a escribir la informacion contenida en el diagrama 
de transicion de estados teniendo en cuenta que las transiciones estan marcadas por x/y, que en el caso 
mas general es: configuracion de entrada/configuracion de salida 



X 


Qn 


Qn^l 


y 


D 




















1 











1 





1 


1 


1 


1 


1 


1 





1 



Figura 9.2. Tabla de verdad 

Asi, de la observacion de la primera y la ultima columna de la tabla vemos que D=x. 
Evidentemente, en un caso mas complicado tendriamos que minimizar la expresion D=f(x, Qn). 

Analogamente, y - x Q^^ y por consiguiente el circuito secuencial del ejemplo es: 



1-1> 



e^ 




Figura 9.3. Circuito solucion 



Veamos ahora la tabla de excitacion para el biestable T repitiendo, en \a figura 9.4, el contenido 



equivalente al de lafigura 9.1, pero cambiando las tablas directas e inversas por las correspondientes 
al T. Observese que lo linico que hemos hecho ha sido volver a escribir las tablas de verdad. Ya 
sabiamos desde el tema anterior que "cuando T=0 el biestable T no cambia de estado y cuando T=l, 
el biestable cambia de estado" 



Es decir, 



Qn+l=TQn^l+TQ^ 



[9.3] 



Ahora, en sintesis, planteamos la pregunta de forma inversa: ique valor necesito poner en T 
para que el biestable realice cada una de las cuatro transiciones posibles fg„ -^ Qn+l)? 

Este valor es el que obtenemos de la expresion 



T = Q„Qn^l+QnQn+l 



[9.4] 



que a su vez ha sido obtenida por simple reescritura de la tabla de analisis considerando ahora a g„+; 
y Qn como dato de entrada y obteniendo Tcomo funcion de estas dos variables. 



Analisis 



T 


Qn 


Qn^l 














1 


1 


1 





1 


1 


1 






Qn+i=TQ„ + TQ„ 



Sintesis 



Qn 


QnH 


T 


















1 


1 




1 





1 




1 


1 













r=e„e„+/4 


Qn Qn+1 



Figura 9.4. Obtencion de la funcion de excitacion en el biestable T a partir de su tabla de transicion de estados. 



Ejercicio: Disenar, usando un biestable T, un circuito secuencial cuyo diagrama de transicion de 
estados sea: 




Solucion: 

Asociamos Sg a Q=0 y Sj a Q=l. Llamamos x a la entrada e j a la salida y pasamos la 
informacion del diagrama de transicion de estados a la tabla de verdad. 



X 


Qn 


Qn+I 


y 


T 








1 


1 


1 





1 








1 


1 














1 


1 


1 









~v^ 



Figura 9.5. Tabla de verdad 
Qn+l =xQ„+xQ„ 



[9.5] 



[9.6] 



Como sabemos que T = Q^ -Qn+l '^Qn Qn+l' obtenemos que la entrada del biestable , T, 
debe ser la negacion de la entrada x. Asi, T -x- ,y t\ circuito: 




Figura 9.6. Circuito solucion 



Veamos finalmente el caso de los biestables J-K. Si quisieramos realizar la sintesis de estas 
transiciones de estado (Q^ — >• Qn+l) con biestables J-K tendriamos que contestar a la siguiente 
pregunta: 

^Como tienen que ser las funciones de excitacion de cada uno de los biestables (Jj,Ki; J2,f^2y 
Js.K^, etc.) para que efectivamente provoquen las transiciones que marca la tabla de transicion de 
estados?. 

Para contestar a esta pregunta repetimos en la. figura 9.7 el esquema seguido en 9.1 y 9.4 y 
seguimos las tablas de las figuras 9. 7(a), (b) y (c). En 9. 7(a) hemes repetido por comodidad el 
diagrama de transicion de estados y en 9. 7(b) la tabla que define el comportamiento del biestable J-K 
cuya expresion logica es: 



Qn^l=J-Qn+K-Q„ 



[9.7] 



(a) 



(b) 




Analisis 



Qn 


e„« 


K 


J 












1 






JK+JK = J 









1 







1 


1 


1 


JK+JK = / 






1 







1 





1 


1 


JK+JK = K 


1 


1 








1 


JK+JK=1: 



(c) 



Sintesis 



Qn 


Qn., 


/ 


K 











* 





1 


1 


* 


1 





* 


1 


1 


1 


* 






Figura 9. 7. Funciones de excitacion en biestables J-K necesarias para conseguir cada una de las cuatro 
transiciones posibles en el estado. (a) Diagrama de transicion de estados. (b) Tabla del J-K. (c) 
Tabla de control del cambio de estado obtenida a partir de la (b) (tabla de excitacion). 



Al igual que en los casos D y T, en P. 7(c) hemos construido la tabla inversa, es decir hemos 
escrito las cuatro configuraciones posibles de un estado, Qn, y de su sucesor, Qn+i, y hemos anotado 
a la derecha los valores que deberian tener Jy K para provocar esas transiciones. Asi, para pasar de 
Qn=0 a Qn+l=l, por ejemplo, las entradas pueden ser J=l, K=0, 6 bien J=l, K=l, lo que significa 
que el valor de K es irrelevante y la transicion la marca J=l. 



jk+jk = j(k+k) = j 



[9.8] 



De la misma forma razonariamos para el resto de las configuraciones hasta obtener toda la 
tabla. Las posiciones que se cubren con una "*" significan que es irrelevante el valor que toma esa 
variable. Es decir, la Jmanda las transiciones desde Qn = (independientemente del valor de AT) y la 
Km&nda las transiciones desde Qn = 1 (independientemente del valor de J). 



Ejercicio: Comprobar que se ha comprendido la sintesis con J-K, repitiendo ahora los ejercicios 
que hicimos para los biestables D y T, es decir, sintetizar usando un J-K los automatas 
que antes sintetizamos con DyT. 

Solucidn: 

Calculemos los valores de J y K a partir de las tablas de verdad. 

(a) Veamos el caso del primer ejercicio. Partimos de la tabla de verdad a la que hemos de anadirle 
dos nuevas columnas, una para J y otra para K. Estas columnas las rellenamos con los valores 
que deben tomar Jy K respectivamente para que se cumpla las transiciones correspondientes de 
Qn ^ Qn+1- Asi, la tabla es: 



X 


Qn 


Qn+1 


y 


/ 


K 

















* 





1 








* 


1 


1 





1 


1 


1 


* 


1 


1 


1 





* 






Y 

> 



Figura 9.8. Tabla de verdad 



Luego: J — X y K — X 

y por supuesto, la salida sigue siendo y = xQ^ y el circuito queda: 



[9.9] 




Figura 9.9. Circuito solucion 

Observese que, al final, al poner el inversor entre x y K,\o que hembs hecho es emular un D 
con un J-K. 

(b) Veamos ahora el caso del 2° ejercicio. 



X 


Qn 


Qn+1 


y 


/ 


K 








1 


1 


/ 


* 





1 








* 


1 


1 














* 


1 


1 


1 





* 







>. 


J 




^ 


J 



y^ 



Figura 9.10. Tabla de verdad 

Primero sacamos la Jy la A^ a partir de las transiciones g„ -> Qn+i- 

Despues obtenemos esos valores necesarios znJy Ka partir de x y de Q„ (en general) 

J = ~x y K = x [9.10] 

Es decir, J = K = X , que significa que hemos emulado el biestable T usando un J-K. La 



salida no cambia, y = x + Q„ ,y e\ circuito resultante es: 




Figura 9.11. Circuito solucion 



Hemos visto las funciones de excitacion necesarias en los biestables D, T y J-K para producir 
cada una de las cuatro transiciones posibles en un elemento de memoria, en un bit. Sin embargo, en un 
disefio real trabajamos con registros de memoria de A'^ bits. Es decir, con automatas finitos de 2N 
estados sintetizados usando N biestables. Per consiguiente, para sintetizar el automata necesitamos N 
conjuntos de ecuaciones de excitacion, una por cada biestable. Asi, para que un automata de 8 estados 
{Q2QiQo=000, 001, 010, ...111) pase del estado Si=010 al estado Sj=011 el biestable del bit mas 
significativo (Q2) no debe cambiar de estado (0 -^ 0), el segundo (Qi) tampoco (1 -^ 1) y el bit 
menos significativo (Qo) debe pasar de cero a uno (0^1). 

Si quisieramos sintetizar este automata con tres biestables D (D2, Dj, Dq), las funciones de 
excitacion necesarias para esa transicion serian: 

D2 =0, Dj = 1, Do =1 [^-1^] 

Si por el contrario quisieramos usar biestables J-K, las funciones de excitacion de los tres 
biestables {J2K2, JjKj, JqKo) tendrian que ser: 

J2 = 0, Ji=^, Jo = l f^-^^J 

K2=*, Kj = l, Ko=* f^-l^J 



9.2. Procedimiento General de SIntesis 

Vamos ahora a plantear el procedimiento general de sintesis secuencial sincrona de automatas 
arbitrarios de los que los contadores y los registros solo son casos particulares. Este procedimiento 
debe de incluir los siguientes pasos: 



P.l. Descripcion en lenguaje natural de forma clara, completa, precisa e inequivoca de la funcion 
que queremos sintetizar. 

P.2. Representacion de esa descripcion en terminos de automatas finitos , especiflcando los espacios 
de entradas y salidas, el espacio de estados internes necesarios y las funciones de transicion de 
estados y produccion de salidas a partir de las entradas y los estados. 

P.3. Minimizacion (en su case) del numero de estados. En un sistema secuencial hay tantos estados 
distintos come historias de estimulos distinguibles. Y no hacen falta mas para duplicar la 
funcion. Si existen estados redundantes, conviene eliminarlos para conseguir una sintesis 
minima sobre clases de equivalencia de estados. 

P.4. Seleccion de biestables (D, T, J-K) y calculo de las funciones de excitacion correspondientes. 

P.5. Asignacion de estados. La asignacion de estados es el procedimiento mediante el cual se hacen 
corresponder biestables especificos a cada uno de los bits resultado de la codificacion en 
binario de los estados del automata. Por ejemplo, podemos usar el siguiente procedimiento. 

P.5.1. Sea A el numero de estados del automata. Para su sintesis necesitamos un numero de 
biestables, N, tal que 2^ >A >2^-^. 

V.S.I. Entonces, or Je«awo5 de forma arbitraria esos e5to^05 desde 5'()=0 hasta 8^-1=2^-1 y 
rescribimos en binario el subindice que identifica al estado: 

So = (00...0). Si = (00...1), ..., Sa-1 = (11...1) 

P.5.3. Finalmente elegimos un biestable, {Qo,Qi, ■■■, Qn-i)^ P^ra cada bit del estado. 

P.5.4. Aplicamos los algoritmos de sintesis para obtener las funciones yj^t) = Dk(t) de 
excitacion de los iV biestables D, a partir de las matrices de transicion del automata. 

P.6. Obtenemos de las funciones de excitacion, correspondientes a cada uno de esos N biestables. 

Ya tenemos la descripcion formal (P.2), la minimizacion (P. 3), la seleccion del tipo de biestable 
con el que queremos realizar la sintesis (P.4) y la asignacion de los bits que definen el estado (P. 5). 
La ultima etapa del disefio es la obtencion de las funciones de excitacion (Di, Ti 6 Ji-Ki), de los A'^ 
biestables , (Qo,Qi, ■■-, Q N-l) que definen el estado del automata. 



9.3. Representacion, Sintesis y Analisis Modular DE 
automatas con plds 

En la figura 8.7 del tema anterior vimos la arquitectura general de un circuito secuencial basada 
en el uso de dos PLDs, uno para la produccion de los nuevos estados a partir de las entradas y el 
estado actual (PLD-1) y otro para producir las salidas a partir de las entradas y el estado (PLD-2). 
Este segundo circuito es de naturaleza combinacional y no usa los biestables D de sus macroceldas de 
salida, por lo que no vamos a detenemos ahora en su diseiio. 

Vamos a centramos en el primer PLD que es el que se encarga de la sintesis de las transiciones 
entre estados. Es decir, de la componente secuencial del automata . Su arquitectura es la que 
reproducimos en la figura 9.12. Por razones pedagogicas hemos separado los retardos de la parte 
combinacional previa pero ya sabemos que si usamos un PLD tipo PALCE-22V10 descrito en el tema 
7, sus macroceldas de salida (figura 7.31) incluyen un biestable D y dos multiplexos para controlar la 
salida al exterior del circuito y la realimentacion. Suponemos entonces las configuraciones de control 
adecuadas en esos multiplexos (00 en el primero y en el segundo) para que lo que sale de la PAL es 

el estado Q del biestable y, a la vez, se realimenta para presentar a la entrada Qy Q , junto a otras 
entradas extemas y otras realimentaciones del resto de las macroceldas. 

En estas condiciones la PAL queda configurada como se muestra en la parte (b) de la figura 
9.12 y podemos empezar la descripcion de los procesos de representacion, analisis y sintesis 
de automatas modulares con M variables de entrada (xq, xj, ..., xm-i) y N variables de estado, 
{Qo. Ql, •••. Qn-i) correspondientes a las salidas de los biestables D de N macroceldas de salida de la 
PAL. 

Como tenemos M variables extemas y, en general tambien tenemos la realimentacion de las N 
macroceldas, las fionciones de excitacion de los N biestables D son funciones universales de (N+M) 
variables logicas: 

A(^J=Ak(^„-/).-,^M-/('„-J;a(^„-;).-,e^-;(^„-;)] 

k=0,l..,N-l ^^-^^^ 



UQo .Qi.-. Qn-1-} (""o • ^7 ""M-l'l 

I V 



Generador de terminos minimos 
de W+M variables 



\J PLD 



i r-"0 



At 



At 



Qn-1 



Qi 




<? 



control (ai) 



DN.l-fN-l(-y ■ ■ Do=fo(-.) 



▼... Qn-^ 



Y 



Qo Qo-Qf, 




•*■(? ... Xm-J 



.Q^-. O • • • Q O 7< 



Xo Xo ... Xm-I Xm-I 



Figura 9.12. Sintesis con PLD's y biestables D. Arquitectura general mostrando la yuxtaposicion de N 
automatas universales de 2 estados para sintetizar un automata de 2N estados y M variables de 
entrada. Las linicas entradas extemas son las variables {xo,xi, ..., x^-i} y los coeficiente de 
control de los terminos minimos. (a) Aspecto globaL (b) Detalle. 



Cada biestable D (cada macrocelda) representa una variable de estado, de forma que la PAL es 
de hecho un procesador paralelo en el que la sintesis de un automata de 2^ estados se realiza 
yuxtaponiendo A^automatas de dos estados, uno per cada bit de la palabra que representa el estado. La 
programacion del automata se realiza cargando en el PLD la configuracion de coeficientes {a,} 
correspondientes a los terminos minimos que participan (para un automata concreto) en las funciones 
de excitacion, D^ftJ, de los biestables D de sus A'^ macroceldas de salida. La reprogramacion del 
automata (su reconfiguracion) puede realizarse cuantas veces sea necesario cargando los nuevos 
valores de los coeficientes {a,} desde una EEPROM o desde un procesador extemo a la memona 
interna del PLD, tal como veremos en el tema 13 al estudiar los CPLDs (PLD complejos) y los 
FPGAs reconfigurables mediante memorias RAM. 

9.3.1. Representacion 

Corresponde a los pasos generales P.l y P.2. Dado un problema, obtenemos la descripcion del 
circuito que necesitariamos para su solucion en terminos del niimero de configuraciones de entrada 
necesarias, {Xm},(m = 0, ],..., 2^-1), del niimero de estados necesarios, {Si} (i = 0, 1, ..., 2^-1), y 
de las transiciones entre estos estados para cada uno de los valores mutuamente exclusivos de las 
configuraciones de entrada X^. Es decir, buscamos reglas de la forma: (St, pasa a Sj bajo X^), 

'^i ^^J [9.15] 

Supuesto que se ha realizado la minimizacion (paso P.3) y dado que ya hemos elegido 
biestables D (paso P.4) y que la asignacion de estados es automatica (paso P.5), a traves de la 
codificacion en binario del subindice, solo nos falta obtener las matrices de transicion de estados, 

1^7 1 ' (paso P.2), que constituyen la representacion formal del problema en este procedimiento de 

sintesis. Como para A estados necesitamos N biestables {2^ >A), las matrices de transicion seran de 
dimension 2^-2^. Como hemos necesitado {Xm} configuraciones de entrada {m = 0, 1, ..., 2^-1), 
necesitaremos para su sintesis M variables logicas (xo,xj. .... xm-i) y por consiguiente tendremos, en 
general, 2^ matrices de transicion distintas, una para cada configuracion de entrada. 

Los elementos de estas matrices booleanas, [t!^\, son t^j = 7 si bajo Xm el automata pasa de Si 
a "S)- y 11]= si no se produce esa transicion. Como bajo cualquier entrada Xm, el automata tiene que 



realizar alguna transicion, estas matrices solo tienen un uno por fila^*\ Ademas como las 
configuraciones de entrada son distintas y mutuamente exclusivas, podemos usar una representacion 
mas compacta mediante una matriz parametrica, llamada matriz funcional, M(x^), resultado de 

multiplicar cada matriz de transicion, | ^^ ( , por la configuracion de entrada que la produce, {Xrr^, y 
sumar estos productos. Asi, la matriz funcional sera: 



2^-1 



m=0 



T Y 



[9.16] 



Observese que esta matriz es una matriz de representacion. Es decir, es una forma compacta de 
representar el conjunto de expresiones logicas que controlan todas y cada una de las transiciones de 
estado para todas y cada una de las posibles configuraciones de entrada. Cada configuracion de 

valores en las variables de entrada, X^, selecciona una matriz de transicion, | J]J | ,que describe los 

cambios de estado que se producen cuando dejamos esa configuracion de entrada constante. Lafigura 
9.13. resume el proceso de representacion. 

Para centrar ideas pensemos como serian las matrices de transicion para el caso minimo de un 
automata con solo dos estados (Sg, Sj). Si solo tiene dos estados las posibles transiciones podran 
describirse usando matrices booleanas 2x2 y solo pueden haber cuatro matrices de este tipo que scan 
distintas, en funcion de donde tienen el uno en cada una de sus dos filas: 



[9.17] 



Como hay cuatro matrices, para su seleccion necesitamos dos variables de entrada (xl, xO), de 
forma que ante cada configuracion de entrada (00, 01, 10, 11) se activa una de las matrices de 
transicion del automata (TOO, jOl, TlO, TH). Una posible asociacion seria: 



fo l^ 




(0 


1^ 




(1 


0~\ 




(1 0\ 


[o l] 


' 


[^ 


0, 


> 


[o 


1) 


' 


[l 0) 



Estamos hablando aqui solo del caso deterministicos. Para circuitos probabilisticos o de logica borrosa 
("fuzzy"), los elementos de la matriz podrian tomar valores entre cero y uno. 



rOO 



(0 1^ 


jOI _ 


(0 


l^ 


. T">^ 


(1 


0^ 


, T" = 


(1 0^ 


[o 1) 




K^ 


0) 




[o 


1) 




^1 o] 



[9.18] 




Piano de 
trabajo 
bajo Xm 



Transicion: Sq -^ S2 



Figura 9.13. Representacion por matrices de transicion booleanas. Seleccion de piano y transiciones bajo 
entrada constante. 



Evidentemente, cualquier otra forma de asociar configuraciones de entrada de las matrices de 
transicion es tambien posible. Incluso, en muchas ocasiones tendremos mas configuraciones que 
matrices o al reves, con lo que tendremos que asociar la misma matriz de transicion a varias 
configuraciones de entrada. Si por el contrario tenemos menos configuraciones que matrices, cada 
forma de asociacion dara lugar a un automata diferente. 



Supongamos en este ejemplo de cuatro matrices que solo necesitamos una variable externa, xO. 
Tenemos entonces dos configuraciones de entrada posibles (xq = 0, xq = 1) de mode que hay tantos 
automatas distintos de dos estados y una entrada como formas distintas de asociar dos configuraciones 
con cuatro matrices. For ejemplo, cogiendo las dos primeras, tendriamos: 



(0 1^ 


• ^0 ^^ 


(0 1\ 


.0 1) 


' \J 


J 0. 



XO 



Y su matriz funcional sera: 



[9.19] 



M{xo) = 



XO 



1 
1 



+ Xo 



1 

1 



XO + Xq 



\^0 



XO 



1^ 

yXQ XQ 



[9.20] 



Si quisieramos un automata que usara todas las matrices de transicion posibles para dos 
estados, como hay cuatro matrices de transicion diferentes, necesitaremos cuatro configuraciones de 
entrada, {Xj^^, para seleccionarlas. Las generamos con dos variables {xo, xj) y obtenemos asi el 
automata universal de dos estados cuya matriz fioncional es 



Mf){xQ,Xi) = xo-xi 



1 
1 



+ XQ-Xj 



I 

1 



+ Xq-X] 



J 

1 



MrAxo,Xi)- 



'xo-~xi+xo-xj xo-~xi+xo-xj^ 



XQ-Xj +Xq-Xj XQ-XJ +XQ-X1 



( 
Xq 



+ Xq 'Xj 



\ 



1 
1 



XQ 
XI J 



[9.21] 



[9.22] 



Para su sintesis necesitariamos una PLD con dos entradas extemas, (xy, xq) y una macrocelda 
de salida que realimente el estado (Q) de su biestable D hacia la parte combinacional de entrada al 
PLD. 



9.3.2. Smtesis 

Si tenemos la representacion de un automata de 2^ estados y 2^ configuraciones de entrada, 
{Xm), el siguiente paso es la obtencion de las fimciones de excitacion, {Dk(t)}, de los A'^ biestables D 
que sintetizan al automata. El algoritmo de sintesis y analisis de automatas modulares se debe a R. 
Moreno Diaz y es el siguiente. 



2^-7 



2^-1 



Dkit)= E \Y^M,j{xJ.SjY S i:M,j{xJ.QlQ^^.....Qf^_j. 



i=0 



[9.23] 



La suma sobre el subindicey se extiende a todos los estados, Sj, pertenecientes al subconjunto 
de estados, Sk, en los que la salida del biestable correspondiente, Qk, esta en alta, 



j\Sje{Sk\Qk=l} 



El estado inicial, S- = Qg ■ g* 



[9.24] 



• Q{;_i , recorre todos los valores posibles de i, desde cero hasta 



2^-1 puesto que en principio desde cualquier estado inicial se puede llegar a un estado final, Sj. Los 
exponentes de las variables de estado (a, b, .... f) son las codificaciones en binario del estado 5/. 
Conviene recordar que hemos usado la notacion de Gilstrap en la que: 



Qt=Q, si a = l 



Qt=Q, si a = 



[9.25] 



Vamos a ilustrar el proceso de sintesis con algunos ejemplos sencillos para automatas de dos y 
cuatro estados. Mas adelante usaremos de nuevo el metodo para el diseiio de contadores. 

Finalmente, en el ultimo tema, dedicado a la logica secuencial programable, haremos de nuevo 
referenda a estos procedimientos de sintesis. El estado actual de la tecnologia permite disenar 
automatas fmitos leyendo en una tabla LUT (Look Up Table) el estado sucesor del estado actual. 

Empecemos sin embargo estudiando la sintesis de ejemplos muy sencillos para captar la forma 
de proceder del metodo. Supongamos que queremos sintetizar un automata de dos estados {Qo = 0, 
Qo- l)y una entrada (xq), cuya matriz funcional es: 



M(xo) = 



Qo=0- 



Qo=0 Qo=l 

f ** 







Qo=i 



= / \xo 



\1 



Xo 



[9.26] 



Es decir, si esta en Qo=0, al siguiente pulso de reloj pasa a Qo=l, independientemente del valor 
de la entrada. En cambio, si esta en Qo=l, pasara a Qo=0 si la entrada esta en alta {xo=l) 6 se quedara 



en Qo=l si la entrada esta en baja. Observese como la suma de todos los elementos de una fila de la 
matriz debe ser igual a uno (0+1=1, Xo+Xg = I ). Las configuraciones de entrada son mutuamente 
exclusivas y a algun estado final habra que llegar. Veamos ahora los caminos por los que se puede 
llegar a cada uno de los estados finales posibles. 

Los caminos que llegan a Qo = 1 son los de la segunda columna. Es decir, cuando el estado 
anterior era Qo = para cualquier valor de la entrada y cuando el estado anterior es Qo = 1, 
para xo = (Xg). Por consiguiente, la funcion de excitacion sera: 



Do=Qo-J + Qo-xo^Qo+Qo-xo 

El circuito correspondiente se ilustra en \afigura 9.14. 



(a) 




(b) 



Do=Qo + QoXo ) 



(c) 




Do Qo 
Ck 

Qo 



[9.27] 



Figura 9.14. Ilustracion del proceso de sintesis. (a) Representacion. (b) Calculo de la funcion de excitacion. 
(c) Circuito. 

Supongamos ahora que tras los pasos P.l y P. 2 del procedimiento general hemos obtenido la 
matriz funcional que representa a un automata de cuatro estados (codificados con dos biestables, Qo y 
Ql) y cuatro configuraciones de entrada, {Xq, Xj, X2, X3), codificadas con dos variables {xq^ X]) cada 
uno de cuyos terminos minimos representa una configuracion (xo=0, xj=0: Xq ; xo=0. Xj=l: Xj ; 
xo=l, xj=0: X2; xo=l, xj=l: X3 ). La figura 9.15 muestra la matriz funcional de este automata y la 
9.16 el circuito correspondiente usando una PROM de 4 entradas. 



Para facilitar la comprension del proceso de sintesis dibujamos los estados iniciales y finales y 
los caminos que llegan a cada estado final. De acuerdo con el algoritmo, se clasifican los estados 
finales en tres grupos (aquellos que tienen Qq =1, los que tienen Qi =1 y el estado 00, que tiene 
ambos biestables a cero). 



Wxoxj)-- 














r 


-1 




*-, 




\(Qo- Qi) 


1 


1 


VI 










1 









_ _ 

XqXj+XqXj 

XQXJ 
XQX I 








■■■■> 











XqXj+XqXj 







1 ... 




■■■> 


XqJ] 








XqX] 




-^OXj 




1 - 


■: 


■■■■♦■ 


XqX J 






11 


XQX J 




XqX J 


1 


1 1 - 


1 




■-♦'... 


1 1 



Figura 9.15. Matriz funcional correspondiente a un automata de cuatro estados y dos variables logicas de 
entrada. Los estados se codifican con dos biestables D y en cada una de las 16 posiciones de la 
matriz aparece el termino minimo o la suma de terminos minimos que provoca la transicion entre la 
fila y la columna correspondientes. 



Observese que la suma de cualquier fila de la matriz es 1. Cuando aparece xq y x/ deben 
aparecer todos los terminos minimos en una u otra posicion de la fila. Cuando aparece un uno, el resto 
de los elementos de la fila deben ser necesariamente cero. 

Veamos ahora el calculo de las funciones de excitacion Dgy Di. Para calcular la expresion de 
Do hay que sumar todos los caminos que Uevan desde cualquier estado inicial a los estados finales (10 
6 11). Es decir a alguno de los estados finales en los que Qo=l- En el ejemplo de la figura 9.15 
sumaremos las columnas tercera y cuarta multiplicando la configuracion de cada uno de los estados 
iniciales por los elementos correspondientes de la matriz. 



Qi Qo I ^7 1^0 




D 

Qi Qi 




D 

Qo Qo 



yi 



yo 



Figura 9.16. Sintesis de automatas fmitos de cuatro estados y dos variables extemas con una arquitectura 
PROM de cuatro entradas. 



Asi pues, la expresion de Dq sera: 



<-^^^ < ^'' ) 



Do^Qo-Ql\Xo-xi + xo -Xij+Qo-Qjyxo-xi + Xo-xjj+Qo-Qiyxo-Xi + xo-xi) [^-28] 

Como se puede ver el estado inicial 00 {Qq ,Qj) no interviene porque los dos elementos 

correspondientes de la matriz que conducen a los estados finales 10 y 11 son 0. Analogamente el 

estado inicial 01 {Qq ,Qj) interviene multiplicado por el elemento de la matriz [xq ■ xi + xq -xj) que 

es el que controla la transicion hacia el estado final 11 en el que Qo =1 y asi sucesivamente para los 
otros dos estados iniciales 10, 11. 

Procediendo de la misma forma, para obtener Di sumamos los caminos que llevan desde 
cualquier estado inicial a los dos estados finales que poseen el bit Qi en alta (estados 01 y 1 1), 

Di=QoQi+QoQl\Xo ■xi+xo-Xi)+Qo-Qj(xo ■Xj+Xo-xj)+Qq-Qi(xo-xi+xo-xi) [9.29] 

El circuito correspondiente se muestra en la Jigura 9.16. 

Observese que podriamos simplificar las expresiones [xq-Xj +Xq-X] =XQ,etc...j pero no lo 
hacemos porque en sintesis con PROM disponemos de todos los terminos minimos y es mas sencillo 
ver asi, sin simplificar, cuales de ellos participan en la fimcion. Como consecuencia del procedimiento 
de obtencion de Dqy Dj, generamos primero la parte de los terminos minimos correspondiente a las 
variables de estado {QqQi, Qq Qi , QoQi, Qo Ql )■ Por otra parte, generamos las componentes de los 
terminos minimos de las variables de entrada \xoxi,xoxi, xqxi, xqXjJ, y finalmente multiplicamos los 
que tengamos que multiplicar y sumamos sobre dos lineas OR los productos correspondientes aDgy 
Dj. Los productos son siempre de la forma; 



(Codificacion binaria de Sinicial) ' (Configuracion Xm que lleva a S final) 



en el que la salida del biestable Qi esta en alta (/ = 0, 1, ..., N-1). 



9.3.3. Analisis 

Ya hemos visto la representacion y la sintesis. Veamos ahora el analisis. Es el proceso inverse 
al de sintesis. Ahora partimos de un circuito como el de la figura 9.16 en el que aparecen, en general, 
A'^ biestables D {Qo,Qi, ■■■, Qn-1), y A'^ funciones de excitacion, {Do,D], ..., Dj^.j), y queremos obtener 
la representacion del automata de 2^ estados correspondiente. Es decir, las matrices de transicion 

T^.J 1 , 6 la matriz funcional M(Xfn). 



Para que el automata pase del estado Si a Sj, cada una de sus variables de estado {Qk) deben 
pasar de como estaban en Si a como estan en Sj. Como esto debe ocurrir para todas las Qk 
(k=0, 1, ..., N-1), la condicion de transicion aparece como un producto de las condiciones de 
transicion individuales. Si (q, r, ..., i) son los digitos binarios correspondientes al estado final 5,, 
entonces: 

m,j(x„) = f^(x^-s)-f;(x„;S;)-...-n_,(x^-S) [9.30] 

siguiendo de nuevo la notacion de Gilstrap en la que 



Para ilustrar el procedimiento general de analisis vamos a aplicarlo al mismo ejemplo que 
hemos usado en sintesis. Tenemos entonces como punto de partida el circuito de la figura P.5 y la 
expresion de las funciones de excitacion, que repetimos aqui por comodidad, 

Do=Qo- Ql(xo -xi+xo- xj)+ Qo ■ (g; -Xq+Qj-xo) [9.32] 

Di^Qo ■Q!+Qo-Ql(xo-xj+xo-xi)+Qoi^j-xi+Qj-xi) [9.33] 

Calcularemos algunos terminos de la matriz funcional para que, una vez familiarizado con el 
procedimiento, el alumno pueda calcular el resto, comprobando que coincide con la matriz de partida 
en el apartado de sintesis. La ecuacion 9.30 puede volverse a escribir de forma mas descriptiva como: 



Asi por ejemplo el elemento w^/ que especifica la transicion entre Sinicial iQo ~ -'< Ql ~ ^) Y 
Sfinal (Qo = 0,Qi = l) sera: 

m2i ^Dl[xj,X2;Qo\g, . . ,Qi\o . . ,\ d'o[x,,X2;Qo\. . . ,Qi\o . . , 

[9.35] 



^Do\xi,x2;Qo\s, . . ,Qi\g, . . \-Di[xj,x2;Qo\s. . . ,.2; U. . . , 

V ^imcial '^imcial J \ •^inicial '-'inicial , 

Calculemos ahora los valores de Dq y D] a partir de las ecuaciones del enunciado [9.3 1 J y 
[9.32] en las que sustituimos los valores que toman Qo y Qj para el estado inicial. Asi, 

Dq = I-0[xo -xi +X0 -x/j+lip-xo +0-Xg) = + xo = xq [9.36] 

D] ^l-d + l-o(xQ ~xi +xo-Xj)+l^-xj +0-Xj)=0 + + X] =xi [9.37] 

Por ultimo deberemos sustituir estos valores en la expresion de m2i [9.35] y obtenemos: 

17121 =Do-Di ^xo-xj [9.38] 

De la misma forma podemos calcular el elemento mso que especifica la transicion entre 11 y 00 

m3o=Dl[xi,X2;Qa\s. . . ,Ql\s. . . \ D^jUl >^2:Qo\s. . . ,'Qi\s- • ■ ,1 = 

[9.39] 



V ^inicial '^inicial J \ ^inicial ^inicial . 

Calculemos ahora los valores de Doy Di. 

Dq = ]-1[xq -xi +X0 -Xjl+lyl-XQ +1-Xg)=0 + XQ ^Xq [9.40] 

Di ^1-1 + 1 ■l(xo- XI +xo-xi)+l(l-xi+l-Xj)=0 + + J^ ^x^ [9.41] 

Por tanto m^Q =Dq -Dj =xq -Xj [9.42] 

Por ultimo el elemento moo es el termino que especifica la transicion entre 
Sinicial (Qo = 0,Qj=0) y Sfinal (Qo = 0, Q, = 0) 



luego: 






fnoo{xO'Xi)^Do -Di 






Dq (para Qq =0 y 


Q]=0)^0, 


=> dO=o'=i 


Dj (para Qq^O y 


Qi-o)=i, 


^ d1=]'^=o 


luego, niQQ ^1-0 = 







[9.43] 
[9.44] 

[9.45] 

Como podemos ver los elementos calculados coinciden con los correspondientes elementos de 
la matriz de \afigura 9.15. De igual forma se calcula el resto de los elementos. 

El siguiente paso seria, partiendo de la matriz funcional que hemos calculado, dibujar el 
diagrama de transicion de estados ya que cada elemento de la matriz nos dice bajo que configuracion 
de entrada se produce la transicion correspondiente. 

9.4. DiSENO CON BlESTABLES J-K 

El diseno con biestables J-K sigue los mismos pasos generales hasta llegar al calculo de las 
funciones de excitacion de los biestables, solo que ahora no es tan sencilla como en el caso D. Hay 
que recorrer los estados, desde Sq(0, 0, .... 0) hasta Syj^^.jfl, 1, -.J) calculando J, y Kj para cada uno 
de los bits que codifican el estado, de acuerdo con las tablas de las figuras 9.7.b y c. Nosotros 
ilustraremos este procedimiento en los siguientes apartados dedicados al estudio de contadores y 
registros. 

Aqui, a nivel general, solo queremos comentar el problema de la reordenacion de estados. 
Cuando la sintesis se hace con electronica no programable, el problema de la asignacion de estados es 
mas complicado que la codificacion binaria del subindice usada a lo largo de todo este apartado sobre 
representacion, analisis y sintesis ya que ahora conviene optimizar el diseno. Para ello, se reordenan 
los estados intentando conseguir que los unos y los ceros de las funciones de excitacion de las 
entradas Jy K d^elos N biestables queden juntos en los mapas de Karnaugh para obtener ecuaciones 
de disparo lo mas simplificadas posible. 

Para ello la reordenacion se hace buscando "adyacencias" entre estados. Dos estados pueden ser 
adyacentes en uno o mas de los siguientes sentidos (figura 9.17): 



Xffi (entrada) 




^inicial 
Xfjj (entrada) 




Sfinal f/ 



^U' 



^inicial 



^flnal 



\Xffi (entrada) 



I Si Sj 
..^^^g^^ Sfinal 



Figura 9.17. Distintas relaciones de adyacencia. (a) Relacion de adyacencia Ai (estados iniciales distintos dan 
lugar al mismo estado final), (b) Un mismo estado inicial con distintas entradas da lugar a distintos 
estados finales A2. (c) A3, ciclo de oscilacion. 



1. Si para alguna entrada ambos estados tienen el mismo sucesor (relacion de adyacencia Aj). El 
estado 5, es adyacente a estado Sj, es decir, se cumple la relacion de equivalencia, A} (S^, Sj), si 
existen configuraciones de entrada X^ y estados Sj^ tales que 



Si^^Sk y Sj-^^Sk 



[9.46] 



Si son sucesores de un mismo estado para entradas adyacentes (relacion de adyacencia A2). 
A2 [Si ,Sj ) <=> existe un^^^ y dos entradas [X„ ,X^+j j tales que ; 



S.^^Si y Sk "^^ > Sf 



[9.47] 



3. Si cierran un ciclo de oscilacion bajo entrada constante (relacion de adyacencia A3 ). 



Aj[Si,Sj) <^ existe una entrada X„ tal que .• S, — ^^^'—^Sj y Sj — ^^^^5',- [9.48] 



4. Si existe alguna entrada para la que ambos estados den la misma salida (relacion de 
adyacencia A4) 

A4(Si.Sj) o X^tal que: g{Si,X„)=g(Sj^J [9.49] 

Logicamente, cada regla de adjudicacion de adyacencias entre estados {Ai, A2, A^ y A4) 
introduce un conjunto de restricciones de forma que es practicamente imposible que un circuito 
secuencial real pueda satisfacerlas todas. Un procedimiento simplificado y razonable es dar prioridad 
a aquellas adyacencias que cumplan las siguientes reglas: 



Regla A.1 generalizada. Se deben dar asignaciones adyacentes a estados con igual estado 
siguiente para alguna entrada. Cuanto mayor sea el niimero de estados siguientes 
iguales, mayor prioridad. 

Regla A.2 generalizada. Se deben dar asignaciones adyacentes a estados sucesores de un 
mismo estado para entradas adyacentes (que solo varian en el valor de uno de sus bits). 



Como en el resto de la electronica digital, al considerar las posibles soluciones a un problema 
concreto hay que empezar por analizar los datos de catalogo para ver si existe la solucion directa ya 
integrada. Solo en el caso que no exista, tendra sentido pasar a su sintesis con PLAs que ya incluyen 
biestables tipo D en sus macroceldas de salida, de acuerdo con el procedimiento general descrito 
anteriormente y que resumimos aqui en los cuadros de \afigura 9.18. 

Terminamos asi la primera parte de este capitulo encaminada a la introduccion del diseiio 
secuencial en general. Vamos a presentar ahora la segunda parte dedicada al estudio de dos tipos 
concretos de circuitos secuenciales: los contadores y los registros. En ambos casos, utilizaremos la 
teoria general para introducir la funcion y despues bajaremos a realizaciones especificas integradas en 
MSI y disenadas a partir de biestables J-K. En estos casos junto a la funcion especifica de "contar" 6 
almacenar y/o desplazar", existen otras facilidades de establecimiento de condiciones iniciales {preset 
y clear), de comportamiento sincrono o asincrono y de seleccion de circuito y conexion en cascada. 



ANALISIS 




Matriz Funcional: M(X^ 


"•ul^J = M^.A) ■ f[{x„;S,):..-n-,{x„;S,) 


siendo: w,; (Xm) los elementos de la matriz funcional 


(q, r, ...,t) los digitos binarios correspondientes al estado final Sj 


Si = estado inicial Sj = estado final 


Notacion de Gilstrap: 


f:{x„ 


■A) = L{x„-a) f:{x„-A) = f„{x„;S,) 



SINTESIS 




Funciones de Excitacion de los N biestables D: D^ft) 


i=0 j i=0 j 


para todo j\Sj{Sk iQk^l} 


Si = Qo Q'l Qi-, ■= estado inicial 


(a, b, ...J) codificacion binaria correspondientes al estado inicial Si 


Sj = estado final 


Notacion de Gilstrap: 


e;=a si a = l 


Qt = a si a = 



Figura 9.18. Resiimen de los algoritmos de analisis y sintesis de automatas finitos. 



9.5. CONTADORES 

Los contadores son circuitos secuenciales capaces de recorrer una secuencia previamente 
especificada de estados. En general reciben come entrada un tren de impulses y responden con una 
sucesion de estados correspondientes a la representacion en binario del numero de impulses recibidos 



desde que se inicio el ciclo. For eso se les llama contadores. 

Formalmente los contadores son automatas finitos de 2^ estados en los que, en general, la 
asignacion de estados se corresponde con la codificacion en binario del cardinal correspondiente al 
estado. Asi, un contador de 3 bits es un automata de 2^=8 estados {Sq, Sj, ..., Sy) y una entrada 
externa x(t). tal que situado el contador en el estado inicial Sq(OOO), va pasando sucesivamente por los 
estados Sj(OOl), S2(010), etc. cada vez que llega un pulso a la entrada, hasta alcanzar el estado 
Sy(lll), en el que finaliza el ciclo. Si, estando en este estado llega otro pulso, el contador vuelve al 
estado inicial, Sq(OOO). 

Si pensamos ahora en la estructura interna de los contadores ya sabemos que para sintetizar un 
automata con un niimero A de estados necesitamos N biestables siendo 2^>A. Es decir, con A'^ 
biestables podemos disenar contadores desde hasta 2^-1. 

Los biestables pueden ser R-S, T, D 6 J-K y nosotros haremos enfasis en el disefio con J-K y D. 
En el primer caso porque los R-S y T pueden obtenerse como casos particulares y porque los J-K 
permiten un mejor acomodo de un conjunto de senales de control complementarias para establecer un 
cierto estado inicial. Ademas, el diseiio con J-K es el estandar en la integracion en media escala 
(MSI). Haremos enfasis tambien en el disefio usando biestables D porque nos permiten un uso 
inmediato del procedimiento general de sintesis de cualquier automata usando logica programable. 

Para un mismo modelo matematico soporte existen distintos tipos de contadores que se 
distinguen por la forma de transferir los datos entre biestables vecinos y la logica adicional de 
establecimiento de estados especificos, carga o descarga paralelo, y el caracter unidireccional o 
reversible del ciclo de contar. El diagrama de la figura 9.19. presenta una primera clasificacion. 

Esta clasificacion hace referenda a la forma general de organizacion del sistema digital en el 
que se va a integrar el contador (sincronos o asincronos) y a la logica de control complementaria que 
incorpora. Las primeras soluciones integradas eran asincronas, porque necesitaban menos puertas de 
control para transferir los datos entre biestables pero tambien eran soluciones lentas. Para terminar la 
transicion de estado en un contador de A'^bits, tenemos que esperar a que el biestable del bit (A'^^) de 
la orden de conmutar (o no conmutar) al biestable del bit A^. Al igual que en las operaciones 
aritmetico-logicas, la solucion es complicar la logica combinacional de control de las entradas Jy Kb 
D de cada uno de los biestables para que la conmutacion de todos ellos (el paso del estado global Si al 
Sj) se haga a la vez. Asi, el retardo global es el mismo que el del primer bit. 



1 1 

CONT ADORES 





Asfncronos 






t( 


/■ 




\ 


4 




No Reversible 




Reversible 


*■ 


/ 




\ 


^ 






Binario 

(divisores por 2^) 




Divisores 
Por Q ;.: 2A' 






Figura 9.19 Clasificacion de los distintos tipo de contadores. 



El caracter reversible o no reversible tiene que ver con la posibilidad de recorrer el ciclo de 
contar "hacia arriba" o "hacia abajo", dependiendo del valor de una variable de control. Es decir, de 
pasar de S]=001 a 5'2= 010 6 al reves. Piense por ejemplo en un contador asincrono encargado de 
calcular cuantos coches hay en un aparcamiento. Cada vez que entra un coche nuevo, incrementa su 
estado y cada vez que sale uno lo decrementa. Cuando no hay movimiento retiene el ultimo estado. 

Decimos que un contador asincrono es binario cuando le dejamos terminar su ciclo maximo (2^ 
para iV bits). En cambio, decimos que es un divisor por Q (menor y distinto de 2^ cuando se corta el 
ciclo de incrementar el contenido del contador en ese valor Q (5, 7, 12, etc.), devolviendo desde aqui 
al contador a su estado inicial (00. . .0). 

Finalmente, dentro de los sincronos, el arrastre puede ser serie o paralelo, dependiendo de la 
logica combinacional complementaria. Logicamente, los de arrastre paralelo son mas rapidos. 

Veremos ahora la estructura interna de los distintos tipos de contadores en orden de dificultad 
creciente y despues ilustraremos el procedimiento general de sintesis con PLDs con macroceldas de 
salida que incluyen biestables D. 

9.5.1. Contadores Asincronos 

La forma mas sencilla de disenar un contador asincrono binario de tres bits, por ejemplo, es 
usar tres biestables J-K con J=K=1 (es decir, actuando como T y con T=l) y usar la entrada de reloj 



como entrada general al contador, es decir como variable logica cuyo numero de impulses se desea 
contar. Despues, la salida Q del primer biestable {Qq) se conecta a la entrada de reloj del segundo y 
asi sucesivamente. Si suponemos que los biestables J-K usados son de los que se disparan con la 
bajada del pulso de reloj (transicion de alta a baja), el circuito del contador y el cronograma 
correspondiente son los que se muestran en lafigura 9.20. 



reloj 
QO 
Q1 
Q2 



n r 



J L 



J 7T- 



PSTM2 
|CL»Lrut >- 



OS 



-miSLlcCLK 



CLR 



°0 UGA 

14 n — 



'<,£LK 



K Qlci- 

CLR 



i3 



J Q 



CLR 



13 



2us 



luis 



6US 



/ 8US 



Tine 



Ml T 2 T 3 t 4 t 5 t 6 t 7 \t/0 t 1 



10US 



reloj! B 
"Q8 1 
Q1 1 
Q2 B 



■ 










■, .,, 














: 


1 












1 






1 




i' 




'^ 










^ . 


25ns 


25 ns 


16ns 




i 




66ns 







Figura 9.20. Contador asincrono de 3 bits construido con J-K de disparo a bajadas. 



Observese que cada estado se retiene hasta la llegada del siguiente pulso de reloj y que estos 
pulsos no tienen por que estar llegando constantemente. Cuando llega un nuevo pulso, a su bajada se 
produce el cambio de estado. 



Si repetimos ahora el cronograma equivalente al de lafigura 9.20 pero incluyendo tambien la 
evolucion temporal de las salidas Qq y Qj de los biestables, vemos que si usamos estas senales Q 

para disparar al biestable siguiente, en vez de usar las Q, ahora el circuito cuenta "hacia abajo", 
recorriendo la secuencia 7-6-5-4-3-2-1-0. For consiguiente, es facil obtener un contador asincrono 
reversible, si multiplexamos el acarreo a la entrada de reloj bajo el control de una nueva variable 
externa, x, de forma que para x=l (contar "hacia arriba") facilita el paso de Qq y g; al reloj del 
segundo y tercer biestable, respectivamente. Inversamente, para x=0 (contar ''hacia abajo"), el 
multiplexo facilita el acceso a las variables negadas (Qq hacia el reloj Ckj y Qj hacia el reloj Ck2). 
La figura 9.21 muestra el circuito correspondiente y los cronogramas para x=0 y x=l. 




Pulsos de 
Entrada 



Pr 



(>Cko 

K Q, 

CI 



0> 




Pr 
J Q 



>Cki 



(>-K 



CI 



Qo 




Pr 
J Q, 

|>Ck2 

K Q, 
CI 



Qi 



Pulsos 



Qo 




">1 



■- 



Qo 

Qj _0_ 

QT 

Q2 







''A 1 1 ,,--,0 



1 1 







1 5^0 



'■*■! 1 1 



OOP (kf " 



Q2 

IT 



3^ 

'71 r 



I 



ruVo" 



L 

I 



12345670 123 4' 3 2 1 

x=0 ■► cuenta hacia abajo 



x=l ■^ cuenta hacia arriba 
Figura 9.21. Contador asincrono reversible de 4 bits 



En el caso x=0, evidentemente, tenemos el mismo resultado que en \& figura 9.20. En cambio. 



al tomar las senales de Q^ y Q^A^ secuencia que sigue es la inversa. Pasa de 7a6a5 ...a7yaO. 

Obviamente, la linea de control "up/down" {x) no debe de cambiar su valor entre pulsos de 
entrada, porque se podrian producir cuentas erroneas debido a esas transiciones. Veremos a 
continuacion que los contadores sincronos no presentan esa dificultad y por eso los contadores 
reversibles suelen ser sincronos. 

Vease como dependiendo del sentido en el que queremos contar tomamos las senales de g o de 
Q . El cronograma adjunto muestra las relaciones causa-efecto entre las distintas transiciones 

empezando siempre con el paso de alta a baja de los pulsos del reloj. En la primera parte del 
cronograma el contador cuenta hacia arriba, por lo que se consideran las transiciones de alta a baja en 
Go> Ql y Q2- A partir de un cierto punto, cambia el valor de x y empieza a contar hacia arriba. A 
partir de ese momento, las transiciones que se consideran son las de Qq , Qj y Q2 ■ 

Observese de nuevo que la secuencia a contar no tiene por que estar producida por un reloj o un 
oscilador que constantemente genera pulsos. El caracter asincrono de este contador permite que en 
cada momento ocurran las transiciones que dictan las entradas presentes en ese momento. Si durante 
cierto intervalo de tiempo no Uegan pulsos nuevos el primer biestable no vuelca y, consecuentemente, 
tampoco vuelcan los otros. Ademas, el vuelco lo controla Q 6 Q dependiendo del valor de x en ese 
momento, {x=l incrementa, x=0 decrementa). 

Hasta ahora solo hemos usado las entradas J,KyCk de los biestables, pero las posibilidades de 
diseiio se amplian y simplifican si hacemos uso de las entradas "preset" (Pr) y "clear" (CI) que son de 
naturaleza asincrona y dominan al resto, tal como hemos visto en el capitulo anterior al estudiar los 
biestables J-K. 

Asi por ejemplo, a partir de un contador asincrono binario de A'^ bits (2^ estados), podemos 
obtener divisores por cualquier numero Q (menor y distinto de 2^) usando el preset y/o el clear para 
cortar la secuencia y volver al estado inicial en el momento que deseemos. Basta detectar la 
configuracion predecesora y usarla para disparar las entradas de "puesta a cero" (clear) y "puesta a 
uno" (preset). Este problema es representativo de un tipo general de circuitos divisores de frecuencia 
en los que a partir de un tren de impulses del reloj principal (el de mas alta frecuencia) se nos pide 
otro tren de pulsos de frecuencia mas baja de forma que cada Q pulsos del reloj de entrada se 
produzca un pulso a la salida del divisor. Lo importante es tener claro inicialmente lo que se entiende 



por un divisor por Q. Es un circuito que produce un cambio en su salida (salto de nivel o pulso) 
cuando ban ocurrido Q bajadas en la entrada de pulsos del primer biestable. Otra aplicacion 
importante de estas entradas de preset y clear es facilitar la carga de cualquier estado inicial en el 
contador. Recordemos la tabla de transicion de estados del J-K y veamos estas dos aplicaciones. 

Supongamos, para concretar, que queremos modificar un contador binario de 4 bits para 
obtener un divisor por 10, primero usando g\ preset y despues usando el dear. Lafigura 9.22 muestra 
el cronograma marcado para la solucion con preset. 



Pulso n" 1234 5 6789(l( 


y) 11 12 13 14 15 16 
1 1 


Qi U h 


1 1 1 




& tJ h ! 1 




y^ fJ 


Divisor por JO "* 





N° binario 0000 0001 0010 0011 0100 0101 OHO 0111 1000 1001 1010 1011 1100 1101 1110 1111 0000 OOOl 
N°deciiiial 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 

Debepasara 1111 0000 0001 

Figura 9.22. Cronograma del contador de 4 bits en el que se ha marcado el pulso niimero 10 con el fin de usarlo 
para diseiiar un divisor por 10. 



Como puede observarse en este cronograma, para realizar un divisor por 10 debemos detectar el 
pulso niimero 9 que corresponde a la configuracion del contador 1000 y asi generar el pulso dt preset 
que actuara durante el pulso niimero 10, poniendo a 1 a todos los biestables para que con el siguiente 
pulso de entrada (pulso niimero 11) empiece de nuevo el contador a contar desde 0000. Asi, el 
circuito adicional tendra que detectar que Qj esta en alta y pasar a alta la salida de Qq, Qi y Q2 
durante el siguiente pulso de entrada (pulso niimero 10). Para ello basta con pasar a uno Qq, Qi y Q2 
puesto que Qs ya lo esta. Sin embargo, para que se repita ciclicamente, debemos asegurar que 
QoQlQlQs^^^^^ de forma que, con el siguiente pulso de entrada, el contador pase a 
SoG/SiSj^OOOO y vuelva a empezar. Asi, ponemos todos los biestables a uno mediante la entrada de 
preset. Por tanto, el preset debera activarse cuando se cumplan las dos condiciones: (a) que haya un 
pulso de entrada y (b) que Q3=\. Si se supone e\ preset activo en alta, bastard una puerta AND como 



muestra la figura 9.23. El pulso de preset generado a la salida de la puerta AND actiia sobre todos los 
biestables, forzandolos a que pasen a "1". Asi, los biestables permanecen en este estado hasta la 
bajada del siguiente pulso de entrada (el niimero 10) que hara que pasen automaticamente a "0", 
empezando a contar de nuevo, tal como ya habiamos mencionado. Es decir, cada 10 pulsos de entrada 
el contador empieza a contar de nuevo. La. figura 9.23 muestra el circuito complete del divisor por 10 
y su cronograma correspondiente, haciendo enfasis en las conexiones causales entre las distintas 
transiciones de nivel. 



Entrada 
de pulsos 




Pulso n° 1 2 3 4 5 6 7 8 9 10 1 1 12 13 14 15 16 

_TlJLJlJUlJl^J^^iJl^^lJ"UlJLJlJlJL 



Qo 
Qi 

Q2 

Qi 



14- 



! I 



<u 



Preset 



m 



N°binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 11110000 0001 0010 0011 0100 0101 0110 
N° decimal 123 45678 15 01 23456 

Figura 9.23. Circuito y cronograma de un divisor por 10 del numero de pulsos de entrada, usando un contador 
asincrono y controlando el final del ciclo a traves del preset . 



Normalmente en los circuitos integrados comerciales las entradas de preset y clear son activas 
en baja, pero bastaria con cambiar la puerta AND por una NAND. 



Podiamos haber usado el clear para Uevar a a todos los biestables en el pulso en el que 
queremos que se reinicie el contador. Asi en este caso de divisor por 10, podemos en vez de pasar de 
la configuracion 1000 (8) a la 1111 (15) para que el pulso numero 10 pase al contador a la 
configuracion 0000, lo podemos hacer detectando que ha llegado el pulso numero 10, es decir, que 
estan los biestables en el estado 1001 (9) y a continuacion actuar sobre el clear de los biestables cuyo 
siguiente estado no sea de forma natural un 0, para pasarlos a 0. En este caso se detecta mediante una 
puerta AND a la que le entra QoJ QsJ la salida de esta puerta se conecta al clear de los biestables 
(aunque bastaria con conectarla solo al clear de Qj y Qj que son los unicos biestables cuyo siguiente 
estado seria 1 y que hemos de pasar a 0). La figura 9.24 muestra el circuito y el cronograma 
correspondiente. 



QO 



Qi 



Q2 



Pulsos de 
entrada 



Jo 

>Ck 
Ko 



Pr 



CI 



Qo 



Qo 



Ji 



Pr 



CI 



h 

ct>Ck 

K2 



Pr 



CI 



Q2 



Q2 



J3 

4>Ck 

K3 



Pr 



CI 



Q3 



Q3 



Pulso n° 1 



10) 11 12 13 14 15 16 



Qo 
Qi 


jiJuiJuuiJiJiJUiJLJiJi_ruiJLrL 

1 1 

\ i 


Qi 


1 1 
1 1 




Qi 


i t 




Clea 


'■^QoQ3 fi 





N'binario 0000 0001 0010 0011 0100 0101 OHO 0111 1000 10010000 0001 0010 0011 0100 0101 0110 
N° decimal 123 45678 90123456 



Figura 9.24. Circuito y cronograma de un divisor por 10 controlado mediante el clear. 



9.5.2. Contadores Smcronos 

Los contadores asincronos presentan una serie de dificultades entre las que cabe destacar: 

1. La separacion entre impulsos a contar y, por consiguiente, la frecuencia maxima de trabajo del 
contador, depende de la suma de los retardos que introducen los sucesivos biestables. Este 
retardo es acumulativo, al irse disparando cada biestable solo cuando se ha realizado una 
transicion en el biestable anterior. 

2. Los estados estables del contador no se alcanzan siempre en el mismo tiempo. Este depende del 
niimero de biestables que deban realizar transiciones para alcanzar cada estado concreto. 

La solucion a gran parte de estos problemas se consigue con los contadores sincronos en los 
que todos los biestables que tienen que cambiar lo hacen de forma practicamente simultanea. El 
precio que hay que pagar es la mayor complejidad en la logica de interconexion. 

En los contadores sincronos, la seiial de reloj entra a todos los biestables y las entradas Jy K, 
en vez de quedar unidas a un nivel constante (J = K = 1), se usan para controlar las transiciones de 
estado en cada uno de los biestables de acuerdo con la secuencia que se quiere conseguir, tal como 
vimos en los dos primeros apartados de este tema. 

Es decir, en contadores sincronos se usan los procedimientos generales del diseno secuencial 
calculando las funciones de excitacion de cada biestable a partir de la secuencia de estados por la que 
se desea que pase el contador. Veamoslo con un ejemplo. 

Supongamos que queremos convertir en sincrono el contador asincrono de 3 bits de lafigura 
9.20. Para ello conectamos la senal externa de los pulsos del reloj a la entrada Ck de todos los 
biestables para que todas las conmutaciones se realicen simultaneamente y despues calculamos las 
funciones de excitacion {J2,K2; Ji,Ki; Jo'^o) necesarias para que cada uno de los biestables conmute 
de acuerdo con la secuencia de estados. Es decir, para que 000 pase a 001, basta con que conmute el 
biestable Qo , para que el siguiente estado sea el 010, deberan conmutar Qq ( de "1" a "0") y g/ ( de 
"0" a "1") y asi sucesivamente. 

Traemos aqui por comodidad la tabla de sintesis con biestables J-K. Es decir, los valores que 
deben tener J y AT para que su estado cambie de g„ a g„+i en cada una de las 4 formas posibles. 




J=QnQn+l 
K = Qn'Qn+l 



[9.50] 

Cuando se parte de 0, manda / y el valor necesario en / es el que se desea en Qn+i, y no 
importa el valor de K. Inversamente, cuando el estado inicial del biestable es 1 , manda K de forma que 
para que g„ pase de "1" a "0", K debe ser "1" y para que permanezca en "1", K debe ser 0. En estos 
casos no importa el valor de J. Al construir la tabla hemos matizado las celdas de la tabla y reforzado 
con negritas todos los bit que sufren cambios. 

La figura 9.25 resume estas transiciones y los valores de las variables de control necesarios 
para que se produzcan. 





Q"2 


Ql 


Qo 


qT' 


QT' QT' 


J2 


K2 


/; 


Ki 


Jo 


Ko 




1 

2 









0. 

1 




1) 



1) 


^ .J 




...... 


* 




1 


* 


1 


-w 


• 


1 i" 


"Tr 


--*-- 


• 


II 


1 


3 





1 


1 


1 





1 


* 


■ 


1 


• 




4 
5 









...... 


1 


1 

1 


■'*■ 







1 


. « 


1 




6 

7 


1 







J 


1 1 


* 

T 

* 




1 


* 




1 


1 




I 


1 


6 






Figura 9.25. Transiciones y senales de control necesarias para producirlas en un contador sincrono de 8 estados 
disenado con 3 biestables J-K. 



Ahora, por simple inspeccion de la tabla de la figura 9.25 ,y recordando que los asteriscos 
pueden tomarse a conveniencia como ceros o como unos, podemos escribir; 

Jo = Ko = l Ji=Ki=Qo J2=K2 = QiQo [9.51] 

Es decir, todos los biestables poseen una entrada directa del reloj y cada uno de ellos es 



excitado por el producto de los estados de salida de los anteriores. La figura 9.26.a muestra el circuito 
correspondiente. 

Q2 



Reloj 



1 



Jo 



Ko 



Qo 



Qi 



Qo 



Qo 



Ji 

>Ck 



Qi 



Ki Qi 

CI 





Figura 9.26. (a) Contador sincrono con acarreo paralelo. (b) Conversion en reversible usando un MUX 2 a 1 y 
ambas salidas {q y Qy 



De forma analoga a la expuesta en el caso asincrono, es facil pasar de un contador sincrono 
ascendente a uno reversible (ascendente/descendente), usando un multiplexo 2 a 1 entre cada dos 
biestables para poder seleccionar si la excitacion procede de la salida Q (cuenta ascendente) o de la 

Q (cuenta descendente). El control del multiplexo lo realiza una senal externa x tal que para x = 1 
cuenta hacia arriba y para x = 0, decrece la cuenta. Por consiguiente, las ecuaciones de disparo seran: 



Jj =K] =Qox + QgX 

J2=K2=Qi-Qox + QjQo~x ^^^^j 

Si ahora anadimos la entrada de reloj, obtenemos el circuito de \afigura 9.26.b 

9.5.3. Aplicacion del Metodo General a la Sintesis de Contadores con PLDs 

Ahora que hemos visto la sintesis de contadores asincronos y sincronos pensando en cada caso 
en la funcion especifica que se tenia que realizar y en la forma de conectar los biestables para 
alcanzarla, vamos a describir la sintesis de contadores usando el procedimiento general descrito en el 
apartado 9.2 de este tema. Asi, no tenemos que preocupamos de si queremos que cuente por 5 o por 7 
6 si debe o no ser reversible. Un contador de N bits es un automata finito de 2^ estados descritos por 
su diagrama de transicion de estados y, como tal, puede sintetizarse con PLDs de A'^ macroceldas de 
salida que incluyen, al menos, un biestable D cada una. Vamos a verlo sobre un ejemplo concreto de 
contador reversible de 3 bits (8 estados). 

P.l. Descripcion de la funcion 

Un contador reversible sincromo de 8 estados es un circuito secuencial en el que existe una 
entrada de control (sea x) tal que cuando esta entrada esta en alta {x=l), el contador incrementa su 
contenido con cada pulso del reloj, pasando desde {000) hasta {HI). Inversamente, cuando la entrada 
de control esta en baja {x=0), cada pulso de reloj decrementa en una unidad el contenido del contador 
(es decir, su estado). 

P.2. Representacion 

La figura 9.27 representa este comportamiento en forma de diagrama de transicion de estados. 
La figura 9.28 muestra las dos matrices de transicion de estados {t^^t/A asociadas a cada una de las 

dos configuraciones de entrada posibles {x=0 y x=l) y la figura 9.28 resume las dos anteriores 
mostrando la matriz funcional correspondiente, obtenida como suma de los productos de las entradas 
por sus matrices de transicion asociadas: 



M{x) = t'^ -x + T^ -x 



[9.53] 



P.3, P.4 y P.5. Asignacion de estados. 

Los pasos P.3 y P.4 son obvios aqui. Primero, no hay estados redundantes. Para contar hasta n 
hacen falta N biestables, siendo n< 2^. En nuestro caso hemos elegido 8 estados para optimizar el 
diseno con tres biestables (2-^ = S). Al hacer el diseno con retardos (D), el paso P.4 se simplifica 
tambien y nos queda P. 5, que es la asignacion de estados. El procedimiento seguido es tambien 
sencillo y ha sido ilustrado previamente. Se muestra en la. figura 9.28. Los tres biestables (D2, Di, Dq) 
han sido elegidos de forma que sus salidas sean: Qq = bit menos significativo, Qj = bit intermedia y 
Q2 = bit mas significativo. 




Figura 9.27. Diagrama de transicion de estados de un contador reversible de tres bits. 

P.6. Sintesis de DO, Dl y D2. 

Por simple inspeccion de la matriz funcional de \a figura 9.28, vemos que Q2 esta en alta en los 
estados S4, 5'j, S^ y Sj, luego para obtener la expresion de D2(t) sumaremos los productos de las 
entradas por los estados iniciales en las que se consigue ese estado final. Es decir: 

D2 (t) = Q2 (t - ^t^Qi (t - zlt) • Qo (t - Zlt>"^(t - zlt) + Q2Q1Q0X + 

+ Q2QiQoX + Q2QiQo(x + x)+Q2QiQo(x + x)+Q2QiQoX ^^^^j 

Por facilidad de escritura no ponemos el (t-At) en todos los terminos minimos que hay a la 
derecha del igual. Solo lo hemos puesto en el primer termino minimo. 



td/ 




So 


Sl 


S2 


S3 


S4 


Ss 


S6 


S7 


r'(x=u) 


000 


001 


010 


on 


100 


101 


no 


111 


So 


000 























1 


Sl 


001 


1 























S2 


010 





1 




















S3 


on 








1 

















S4 


100 











1 














ss 


101 














1 











S6 


no 

















1 








S7 


111 




















1 








So 


Sl 


S2 


S3 


S4 


Ss 


S6 


s? 


T^(x=l) 


000 


001 


010 


on 


100 


101 


no 


in 


So 


000 





1 




















Sl 


001 








1 

















S2 


010 











1 














S3 


on 














1 











S4 


100 

















1 








Ss 


101 




















1 





S6 


no 























1 


S7 


111 


1 
























Figura 9.28. Matrices de transicion de estados para los dos valores de la entrada (x = 0, x = 1) en un contador 
reversible. 

___Qo - 



Q2Q1Q0 



ii i i y ii 



Q2 



ttt 



M(x) 



000 001 010 oil 100 101 no iii 

So Sl S2 S3 S4 Ss S6 S7 



Q2QJQ0- 



Q2Q1Q0 

^000 


So 


r 



X 

















X 


001 


Sl 


X 





X 

















010 


S2 





X 





X 














oil 


S3 








X 





X 











100 


S4 











3c 





X 








101 


Ss 














X 





X 





no 


S6 

















X 





X 


in 


s? 


I'' 

















X 


oj 



Figura 9. 29. Matriz funcional correspondiente al contador de la figura 9.27. Recordemos que se obtiene 
multiplicando cada valor de la configuracion de entrada \x,x) por la matriz de transicion 
correspondiente y sumando ambos productos ya que las configuraciones de entrada son 
mutuamente exclusivas. Por facilitar el analisis se ha repetido al comienzo de fila y columna la 
codificacion del estado. Tambien se incluyen las flechas que agrupan el conjunto de esXiiAos finales 
en los que un determinado biestable esta en alta. 



Repitiendo el mismo procedimiento podemos obtener las expresiones correspondientes para las 
senales de excitacion de los otros dos biestables, D](t) y Do(t): 



Di{t)^Q2QiQox + Q2QiQox + Q2QiQo^ + Q2QiQox + 
+ Q2QiQo^ + Q2QiQo^ + Q2QiQo^ + Q2QiQo^ 



[9.55] 



[9.56] 



Para sintetizar este contador usando logica programable necesitamos una PAL de cuatro 
entradas (la externa, x, y las realimentaciones del estado, Q2, Qi y Qo) y tres salidas. La parte 
combinacional de la PAL sintetiza las tres funciones de excitacion {D2, Dj y Dq) y sus biestables de 
salida almacenan el estado. Un circuito tipo PAL16R8 posee mas capacidad computacional de la 
necesaria. La figura 9.30 muestra de forma cualitativa la conexion necesaria para este contador 
reversible sin bajar al detalle de los terminos minimos. La flexibilidad de la estructura hace que 
podamos modificar el tipo de contador, decidiendo que actiie como divisor por 7, por 6, 6 por 5, per 
ejemplo. 



/7Z 




X 



PAL 



Dn 



D, 



At 



a 



At 



Qi 



Qo 



Do 



At 



Qy 



Qi 



Q2 



Figura 9.30. Contador reversible de ocho estados sintetizado mediante una PAL tipo 16R8 que ya incluye los 
biestables D. Ver tema 7 para precisar los detalles de la programacion de los dos multiplexos de las 
macroceldas de salida. 



9.5.4. Simulacion y ejemplos de Contadores 



Vamos a desarroUar un ejemplo de uso del simulador para estudiar el comportamiento de los 
contadores y despues haremos mencion a algunas de las soluciones integradas en MSI. La. Jigura 9.31 
muestra el esquema de conexion y un cronograma correspondientes al contador sincrono SN74163. 



U1 



[r>- 
[E>- 



pSTMl Reloj 

|CLKJ-Lr> - =!- 



2 



DSTM2 



7^ 



Carga 



QA 
QB 
QC 
QD 



RCO 
iCLK 
ENT 
ENP 



[H> 



Clear 



LOAD 

CLR 
^33" 



14 
T5 



^ 



17 
TT 






T5— iQd 



carry 



Clear 

Reloj 

Carga 

ft 

B 

C 

D 

Qa 

Qb 

Qc 

Qd 

carry 



1 




1 






1 


1 


1 






1 






_ 


— 1 




1 






















1 












































































1 




























t 

i 

Co 

n° 
(11 


1 































1 




1 





1 


1 






1 



















1 


1 


1 

n 














A 










1 


1 




1 


1 


1 


1 




















1 


1 




1 


1 


1 


u 
















15 

t 

era el 

•ode ■ 

astre . 

t 


12 



I 

'■go el 

12 

00) 


13 




14 

t2 I 

i 

Gen 
puL 
arr 



t4 I 


1 




2 1 3 

ts tj 

/ 

Pulso de 
cargo 


12 13 
ts t9 tio 

"I t 

Carga el Sigue 
n° 12 contando 
(1100) 



OS 



2us 



tus 



Bus 



8us 



lOus 



Time 



Figura 9.31. Esquema de simulacion del contador sincrono SN74163 junto con el cronograma correspondiente 



Primero vamos a simular el contador con las entradas de CLEAR, ENT y ENP inactivas (en 
alta). Con ello el contador esta en modo de habilitado. Para la senal de LOAD (carga) usaremos un 
generador de pulsos, de forma que cuando esta senal de carga esta en baja y el pulso de reloj pasa a 
alta (to) el contador se carga con el valor que tenemos puesto en las entradas, en el caso del ejemplo 
tenemos ^=5=0 y C=D=1, es decir, queremos cargar el numero 12 en decimal (11 00 en binario, A el 
LSB y D es el MSB). A partir de este instante to, como es un contador sincrono (sincronizado con los 
flancos de subida) cada vez que el reloj pasa de baja a alta el contador adelanta un paso en la cuenta. 
Como lo hemos cargado con el numero \2entj pasara al3(1101)a continuacion en t2 pasara a 14, en 
ts pasara a 1 5 . 

Observese como en el instante ts, en el que aparece el numero 1 5 en la salida de arrastre (RCO), 
se genera un pulso avisandonos de que el contador ha pasado por el maximo numero por el que puede 
pasar puesto que es de 4 bits (solo tiene 16 estados). La funcion de esta seiial es la misma que el carry 
de un sumador. Es decir, la funcion de esta senal de control es permitir la conexion en cascada de 
varios contadores para aquellos casos en los que es necesario contar un numero de pulsos superior a 
los 16 estados de este circuito. 

Siguiendo con la descripcion del contador, en el siguiente intervalo de tiempo, t4, el contador 
pasara a la configuracion 0000, y seguira contando, si no se modifican ninguna de las senales de 
control. De nuevo, en el instante ts, aparece otro pulso de carga y como el contador esta en el estado 
0011 (3 en decimal), en la siguiente subida del reloj , tg, el contador cambia de estado. Lo usual seria 
que el contador pasara al estado siguiente (0100, 4 en decimal) pero como ha llegado un pulso de 
carga, vuelve a cargarse con el valor de la entrada 1100 (12 en decimal). A partir de aqui seguira 
contando de igual forma que lo hizo antes, como si estuviera en el instante to- 

Veamos ahora como actua la senal asincrona de puesta a cero (clear) y las senales de 
inhibicion/facilitacion (ENT y ENP) que hasta ahora las habiamos mantenido en alta para que el 
contador estuviera siempre habilitado. Como siempre, para ver como actiian estas seilales 
introducimos generadores de pulsos. En el caso de ENT y ENP hemos combinado dos frecuencias 
para que aparezcan de forma sucesiva las cuatro configuraciones logicas posibles. El circuito y el 
cronograma correspondientes son los que se muestran en la figura 9.32, donde para facilitar la 
comprension hemos introducido en la parte inferior del cronograma las descripciones de los distintos 
comportamientos del contador correspondientes a cada segmento temporal. 



[L^ 



[H> — 
DSTM1 ^11, 



t 



DSTM4 -CMTr 
DSTM5 PXTP 



DSTM3 Carga 

|CLK-rU^ 



U1 

A QA 
B QB 
C QC 
D QD 
RCO 



Qa 



j|4 Qb 

13 nr 



"Lf>CLK 
^° ENT 



ENE_ 



^LOAD 



DSTM2 

|CLKJ-U^ — I 



12 



Qc 



11 



15 



Qd 



carry 



Clear 



Clear 

Carga 

elk 

P 

B 

C 

D 

ENP 

ENT 

Qa 

Qb 

Qc 

Qd 

carry 



juiAmiJiJiJiJiJinjxrinjiriJiri^^ 



/' 



Pone 
aO 




113 14 15 12 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 



' ' INHIBIDO 
Mantiene la 
carga, 12 
Carga 

12 



FACILITADO 

Cuenta empezando 

en 12 



Pone 
aO 



Cuenta 
Carga 

12 



INHIBIDO 
Cuenta 



OS 



5us 



10us 



15us 



Time 



Figura 9.32. Estudio del efecto de las senales clear, ENT y ENP en el comportamiento del contador SN74163 



El proceso comienza con la puesta a cero, despues se carga el niimero 12 , a continuacion hay 
una serie de pulsos de reloj durante los cuales el contador permanece inhibido manteniendo el estado 
(el niimero 12 que se le cargo anteriormente) despues hay un intervalo temporal durante el cual el 
contador esta facilitado por lo que sigue contando los pulsos del reloj a partir de 12 y volviendo a cero 
cada vez que llega a 15. Iniciamos una nueva fase poniendo a cero al contador, haciendole contar, 
cargandole de nuevo 12, contando de nuevo, entrando de nuevo en fase de inhibicion, etc... 

En el cronograma se observa como la senal de clear controla la puesta a cero y como cuando las 
dos senales ENT, ENP estan en alta el contador esta facilitado para contar mientras que en sus otras 
tres configuraciones (00, 01, 10) el contador esta inhibido. Finalmente, cuando estas dos sefiales esta 
en baja permiten la puesta a cero del contador asi como la carga del valor inicial que esta presente en 
la entrada. 

Existen soluciones integradas para contadores asincronos y sincronos, disparados por flancos 
en ambos casos, en general con posibilidad de carga en paralelo. Los asincronos se clasifican a su vez 
en terminos del estado en el que finalizan la cuenta. Tenemos asi, contadores de decadas (74196), 
binarios de 4 bits (74197), divisores por 12 (7492), etc. 

Los sincronos se clasifican tambien en terminos del estado final al que llegan contando, y 
dependiendo de si son o no reversibles y de si admiten o no carga paralelo, sincrona o asincrona. Asi, 
el 74160 es un contador de decadas con carga paralela sincrona. El 74190 es un contador de decadas, 
reversible y con posibilidad de carga paralelo asincrona y el 74191 es un contador binario reversible, 
con preset y clear (con posibilidad de carga paralelo asincrona)**'. 

El objetivo de este apartado ha sido mencionar una parte del repertorio de circuitos contadores 
que ofi-ecen las casa comerciales. A partir de ahora es poco probable que nos encontremos con la 
necesidad de disenar un contador usando puertas y biestables. Mas bien el problema frecuente sera 
tener que usar estos circuitos contadores como modulos intermedios en el diseno de otras funciones 
secuenciales de mayor complejidad. Por ejemplo, diseiiar unidades de control de cualquier sistema de 



**' Como siempre, conviene visitar en la red la informacion que suministran las distintas casa 
comerciales para conocer el estado actual de los circuitos, sus hojas de datos y las notas de 
aplicacion correspondientes. Por ejemplo www.fairchidsemi.com , www.onsemi.com . 



calculo, para direccionar una memoria, para producir secuencias de Irenes de impulses previamente 
especificadas, etc. 

9.6. Registros de Desplazamiento 

Un registro de desplazamiento de N bits es un circuito secuencial que posee la estructura de la 
figura 9.31. Consta de A'^ biestables D conectados en cascada, un reloj y distintas facilidades de carga 
y descarga en serie y en paralelo. En su esquema basico, la informacion entra por el primer biestable y 
es transferida a los siguientes ante sucesivos pulsos de reloj de forma que de cada biestable D pasa al 
siguiente su contenido. Finalmente, el contenido del ultimo biestable se pierde, o entra a 
realimentacion. 

El contenido del primer biestable se obtiene en general mediante una funcion logica de la 
entrada externa, x, y del estado de todos los biestables (Qq, Qj, ..., Qn-i) de forma que 

DN-lit)=QN-2if-^) 
DN-2it) = QN-3{t-^) 



Doit) = f[x{t - At),Qo{t - At);Qj{t - At);...Qf^_j{t - At)] 

[9.57] 

Como se observa en \& figura 9.33, los registros de desplazamiento son un caso particular de 
circuito secuencial en el que se fuerza la conectividad de todos los biestables menos la del primero 
que admite datos extemos directamente o a traves de una funcion de realimentacion. En las 
aplicaciones mas frecuentes, esta funcion de realimentacion no existe o se limita a dejar circular los 
datos, de forma que el registro de desplazamiento actiia como una memoria. 

Las facilidades adicionales que incluyen las soluciones integradas permiten clasificar a los 
registros de acuerdo con la forma en que reciben y entregan los datos. Asi tenemos: 

1. (S - S), entrada serie, salida serie. 

2. (S - P), entrada serie, salida paralelo. 

3. {P - S), entrada paralelo, salida serie. 



4. (P - F), entrada paralelo, salida paralelo. 

5. {P - P), entrada paralelo, salida paralelo. 







Figura 9.33. Estructura general de los registros de desplazamiento. 



Las principales aplicaciones de los registros de desplazamiento son la conversion de datos de 
serie a paralelo y viceversa. Tambien se usan como elementos de memoria transitoria, como 
subsistemas de ayuda a las unidades aritmetico-logicas (desplazar es equivalente a multiplicar o 
dividir por dos), como lineas de retardo digital, en sistemas de adquisicion de datos y como 
generadores de secuencias necesarias para el control secuencial y concurrente de un conjunto de 
operaciones de calculo o transferencia de informacion. Existen soluciones integradas en MSI y LSI en 
tecnologias TTL, MOS y CCD (Charge Coupled Devices) con una amplia variedad de funciones. Asi, 
en TTL hay registros de cuatro bits con acceso paralelo (7495), bidireccionales (74194), de 5 bits 
(7476), de 8 bits (74164) y de 16 bits (74LS673). Por razones pedagogicas hemos seleccionado el 
circuito SN74AS195 para ilustrar los datos de catalogo en este apartado. 

El SN74AS195 es un registro de desplazamiento universal de cuatro bits. Acepta carga en serie 
y en paralelo y su salida esta tambien accesible en serie y en paralelo. ha figura 9.34 muestra su 
circuito intemo y la tabla de control de funcion y en \a figura 9.35 se muestra el cronograma de una 
secuencia tipica que incluye el borrado, el desplazamiento y la carga. 



Entradas 
Serie 



Entradas Paralelo 



SH/LD 




Clear 



Salidas Paralelo 



(b) 



Entradas 


Salidas 


Clear 


SH/LD 


Ck 


Serie 


Paralelo 




J K 


A 


B C 


D 


Qa 


Qb 


Qc 


Qd 


Qd 


L 


X 


X 


X X 


X 


X X 


X 


L 


L 


L 


L 


H 


H 


L 


t 


X X 


a 


b c 


d 


a 


b 


c 


d 


d 


H 


H 


L 


X X 


X 


X X 


X 


Qao 


Qbo 


Qco 


Qdo 


'Qdo 


H 


H 


t 


L H 


X 


X X 


X 


Qao 


Qao 


QBn 


QCn 


'QCn 


H 


H 


t 


L L 


X 


X X 


X 


L 


QAn 


QBn 


QCn 


~QCn 


H 


H 


t 


H H 


X 


X X 


X 


H 


QAn 


QBn 


Qcn 


'QCn 


H 


H 


t 


H L 


X 


X X 


X 


QAn 


QAn 


QBn 


Qcn 


'Qcn 



Figura 9.34. Registro de desplazamiento 74195. (a) Circuito intemo. (b) Tabla de control de fiincioa 



El desplazamiento y la funcion de carga serie o carga en paralelo estan controladas por un 
multiplexo, como en el caso de los contadores sincronos reversibles. El borrado se realiza 



directamente a traves de las entradas de reset y la funcion D de los biestables se consigue a partir de 
R-S conectados a traves de un inversor. Veamos con mas detalle el significado funcional de los 
distintos terminales. 



Ck 

K 

Load 

fl 

B 

C 

D 

QA 

QB 

QC 

QD 



OS 



1 1 


1 1 1 


-r^ 


1 I 1 1 1 


1 l_ 


_r-L_(— t— ^ 





J 1 1 


1 \. 


( 












1 { 






1 ii 


—i 








[ 






\ f 








1 1 , ! 1 


! 1 ■ io ; 1 




1 


1 






' 


1 






i 1 ■ io 1 1 


















\ 1 


; 1 


1 


! Ill 1 
















1 1 


1 1 


1 1 1 1 


1 


















1 1 1 1 


1 1 1 


1 1 1 






] 






n 




"1 


1 1 I 


1 


1 Oil 


1 1 , 




1 ^ 


_fcj 












Carga en 
serie 1 1 


Desplaza el 11 




Carga en 
paralelo 
la palabra 
1010 ■ 


Desplaza la 
palabra 
1010 





5us 



10us 



15US 



Time 



Figura 9.35. Cronograma del registro de desplazamiento 74195, mostrando la evolucion temporal de las senales 
en una secuencia tipica de carga serie, desplazamiento, carga paralela y nuevo desplazamiento (la 
sefial de clear no se muestra pero durante la carga y el desplazamiento debe permanecer en alta). 



Come ya hemes mencionado, el terminal de clear sirve para poner a cere todos los biestables. 
Esta active en baja. El registro es sincrene y les cambies de estade se producen en las subidas del 



reloj. La etra entrada de control es Shift/ Load (SH/LD ). Cuando esta en baja la carga del registro 
se realiza en paralelo a traves de las entradas A,B,Cy D. Si esta en alta, la carga se realiza en serie a 
traves de las entradas Jy K ■ 



Para que se inicie el precese de carga en paralelo, la entrada SH/LD debe ponerse a y clear 
debe estar en alta (1). Los valores que se quieren cargar deben estar QnA,B,CyDy entran a la i? y 5 
del biestable correspendiente a traves de las puertas NOR de su multiplexo. Al tener S = R, los 



biestables actiian como D y transmiten estos valores a sus salidas haciendo Q^ = A, Qb= B, Qc = Cy 

Qd = d. 

Como podemos ver en el cronograma de lafigura 9.35, los biestables pasan a estos valores en 
el instante en el que, estando SH/LD en 0, el reloj pasa a alta. Estos valores se mantienen durante 
todo un periodo del reloj. Si antes de pasar todo el periodo del reloj, existiera un cambio en SH/LD , 
manteniendose en baja las entradas serie (J ,K), cada biestable transferiria su contenido al biestable 
siguiente, desplazandose la informacion que hemos cargado. Cada nuevo pulso desplaza una posicion 
la informacion cargada de forma que tras el cuarto pulso, todos los biestables estaran a 0. Se termina 
asi el proceso de conversion paralelo-serie. 

Veamos ahora que pasa con la carga serie. Se facilita con SH/LD en alta y se controla con 
(J, K ). Si previamente a la carga serie, mediante clear, hemos puesto a cero todas las salidas, con 
{J=l, y K =1), ponemos Qa = 1, mientras que Qb = Qc - Qd- 0, que es el valor que tenian antes. A 
partir de aqui, si se pasan J y AT a 0, el 1 cargado en Qa se ira transfiriendo a los siguientes 
biestables, en los sucesivos pulsos de reloj . 

SiJ=7 y K =7, la salida Qa pasa a uno. 

Si J= 1 y K =0, QaO) =Qa(^-^) y si J=OyK=l, tenemos QaO) = QaO-^O- Es 
decir , la carga serie se realiza a traves del biestable A que pasa a 0, pasa a 1, mantiene su estado 
anterior, QA(t-At), 6 lo invierte, Qa(^~^K dependiendo de los valores de las variables de 
control Jy K ■ 

9.7. Problemas 

Este capitulo posee dos partes claramente distinguibles: 

a) Representacion, diseno y andlisis general con PLD's y biestables D. 

b) Disenos especificos de contadores y registros. 

Por consiguiente, los ejercicios que proponemos se encaminan a repasar y afianzar los 
conocimientos obtenidos en ambas partes. Para aprovechar estos ejercicios es conveniente que se 



hayan realizado previamente los correspondientes al tema 8. AUi, tras el estudio de los biestables, 
propusimos un conjunto de ejercicios relacionados con el analisis y la sintesis de circuitos sencillos, 
con un linico biestable o con dos biestables pero con funciones combinacionales muy sencillas de 
forma que no fuera necesario conocer procedimientos generales de sintesis y analisis. Aqui queremos 
hacer enfasis en el procedimiento complementario. Es decir, no necesitamos bajar al detalle de las 
conexiones para cada ejemplo concreto, porque los procedimientos de sintesis y analisis son 
generales. 

Otro punto importante es el paralelismo. En todos los ejercicios del tema 8 y en los 
correspondientes a contadores y registros, dentro de este tema, la sintesis es serie. La salida de un 
biestable va al siguiente. En cambio, en el procedimiento general de sintesis con PLD's y biestables D, 
el circuito calcula enparalelo, ya que la salida de todos los biestables, junto con las entradas extemas 
van a la PAL que se encarga de excitar de la forma adecuada a todas las entradas, {Dj} . Asi, cualquier 
cambio de estado conlleva el minimo retardo. Mas exactamente, todos los cambios de estado 
conllevan el mismo retardo porque no hay ninguna computacioji global que consuma mas tiempo que 
la computacion local que realiza uno cualquiera de los biestables D junto con su funcion 
combinacional previa. 

Los ejercicios de la segunda parte (contadores y registros), son distintos. La meta aqui es 
conseguir que el alumno comprenda como funcionan las soluciones integradas correspondientes. Para 
ello, por ejemplo, se modifica alguna especificacion (tal como el estado de vuelta al origen) y se pide 
que se analice o sintetice el nuevo circuito contador al que da origen esa pequena modificacion en las 
especificaciones funcionales. 

E.9.1. Representar (pasos P.I y P. 2 del procedimiento general), el automata finito que resuelve el 
siguiente problema de control de los movimientos de un ascensor en un edificio con planta 
baja y dos pisos. Considerar como entradas al automata las ordenes de llamada (ninguna 
llamada, llamada del piso 0, del piso 1 y del pis o 2) y llamadas de dos 6 mas pisos a la vez) 
Las salidas del automata son las ordenes que el controlador digital da a los motores (subir, 
bajar, quedarse donde estd). Finalmente, los estados corresponden a las situaciones 
distinguibles de ascensor parado en piso 0, 1 6 2, ascensor subiendo y ascensor bajando. 
Suponer que cuando el ascensor estd en movimiento no acepta ordenes y que cuando, estando 
parado, recibe dos 6 mas ordenes solo atiende a la que la cuesta menos esfuerzo. Es decir, si 
estd en el piso Oy la llaman del 1 y del 2, ird alprimero. 



a) Obtener los espacios de entrada y salida y los estados internos necesarios. Asignar las 
variables logicas necesarias para su descripcion formal. 

b) Sintetizar el automata resultante usando el procedimiento general con biestables Dy PLD's. 

c) Obtener lasfunciones de salida apartir de las entradas y los estados. 

d) Realizar el proceso inverso de andlisis y comprobar que se obtiene la matriz funcional de 
partida. 

E.9.2. Durante la presentacion del material teorico de este tema propusimos la sintesis de un 
automata de dos estados con un biestable D (figura 9.14) y el andlisis y sintesis de otro 
automata de cuatro estados (figuras 9.15 y 9.16). Repetir aqui ambos ejercicios usando 
biestables J-K, en vez de D. 

E.9.3. Disenar un automata universal de dos estados. ^Cudntas entradas hacen falta para 
controlarlo? . 

E.9.4. a) Disenar un circuito que detecte la secuencia 111 sin solapamiento, de forma que siempre 
que vengan tres unos seguidos por la linea de entrada, x, produzca un uno a la salida, y como 
respuesta al ultimo uno de la secuencia. 

b) Repetir el problema para las subsecuencias 010 y 101. 

c) Supongamos ahora que estas dos ultimas subsecuencias (010 y 101) vienen por dos lineas 
separadas. Disenar un circuito secuencial que compare las entradas por dos lineas 
separadas (xgy xj) y que produzca una salida en alta cuando por xq viene 010 y por xj viene 
101. 

E.9.5. Hemos visto el diseno de contadores asincronos y el uso del preset para obtener un divisor 
por 10. Repetir el diseno para conseguir: 

a) Un divisor por 12. 

b) Un divisor por 9. 

E.9.6. Disenar los circuitos que partiendo del estado (0000) y al ritmo de los pulsos del reloj 
recorra las siguientes secuencias: 

a) La secuencia de los numeros impares 



b) La secuencia de los numeros pares 

'O W 2 )-H 4)-H 6 



c) 
d) 




^Como podriamos hacer reversibles las secuencias a) y b)?. 

En los apartados a) y b) se han propuesto dos secuencias (pares, impares), ^que circuitos 
seria necesario anadir para que bajo el control de una variable externa (S) las recorriera de 
forma alternativa. Si S=0, debe recorrer la secuencia de los numeros pares y cuando S=l, 
debe de recorrer la secuencia de los numeros impares. 

E.9.7. Analizar los circuitos de las figuras adjuntas. dQue tipo de contadores son?. Dibujar el 
diagrama de transicion de estados y justificar la necesidad de las expresiones logicas 
correspondientes a lasfunciones de excitacion (Jy K) de cada uno de los cuatro biestables. 




Reloj 



t^y 



(a) 



Qa\ ,Qd 




Reloj 



(b) 

E.9.8. Hemos estudiado los registros de desplazamiento a partir de un ejemplo representativo de las 
soluciones MSI en tecnologia integrada. En este ejercicio queremos abordar su sintesis de 
forma general, con PLD's y bies tables D. Vamos a limitarnos sin perdida de gener alidad a 
registros de desplazamiento de 3 bits con la estructura de la figura 9.18. Es decir, con tres 
biestables D conectados en serie, de forma que la salida del primero ataca al segundo y la 
del segundo al tercero. En paralelo, las tres salidas (Qq, Qi, Qz) junto con la entrada (x), 
participan en unafuncion de logica combinacional que genera la entrada al primer biestable. 

a) Suponiendo que Dq = f(x;Qo,Qi,Q2) = x,, calcular las matrices de transicion y la matriz 
funcional. 

b) liQue cambios tendriamos que introducir en la matriz funcional si la conexion entre 
biestables partiera de Q ?. Es decir, si 

Do-f{x;Qo.Qi.Q2) 

D2-Q1 

E.9.9. Analizar el registro universal SN74S195 cuyo esquema aparece en la figura 9.34. a. y su 
cronograma en la figura 9.35. En el desarrollo teorico se ha presentado una descripcion 
cualitativa del funcionamiento, sin obtener las expresiones logicas de Ra, Rb, Rcy RoP^fa 
las situaciones de carga serie, carga paralelo y desplazamiento serie. Obtenerlas aqui, 
comprobando la tabla de la figura 9.34.b. 



E.9.10. Disenar un circuito que controle el registro de desplazamiento del problema anterior 
haciendolo pasar sucesivamente por los siguientes modos de funcionamiento: 

Carga paralelo 
h) Desplazamiento 
c ) Desplazamiento 
d ) Carga serie 




^^^^ 



Preparacion de la Evaluacion 



Objetivos 



1 : Circuitos secuenciales 

2: Contadores 

3: Registros de desplazamiento 



1 : Circuitos secuenciales 

1.1. El esquema adjunto resume de forma cualitativa el procedimiento general de sintesis y andlisis 
de circuitos secuenciales. ^Podria identificar los distintos pasos apoydndose en el ejercicio 
E.9.1 del texto de problemas sobre el control de un ascensor? 



Descripcion en lenguaje natural de forma 

clara, completa, precisa e inequivoca de la 

fiincion que queremos sintetizar 



Reescritura formal de esa descripcion 
en terminos de un Automata Finite 



Proceso de Sintesis 

> Arquitectura 

> Tipo de Biestable 

> Calculo de la Funcion de Excitacion 

> Produccion de Salidas 



Proceso de Andlisis 

> Obtencion de la Matriz Funcional 

> Diagrama de Transicion de Estados 



Circuitos Fisicos 

PLDs 



Este ejercicio es extenso y lo hemos puesto sobre un problema cuya solucion conoce el alumno 
porque no importa la solucion en si, sino el procedimiento usado para obtenerla. Es decir, el alumno 
tiene que pensar cuantas historias diferentes de estimulos aparecen, como asignarle estados, como 
construir las matrices de transicion y/o la matriz funcional, etc... y todo de forma precisa e 
inequivoca. 

1.2. Completar ahora el ejercicio anterior en la tarea de andlisis. Partir de la solucion que se 
ofrece en el ejercicio E.9.1 del texto de problemas y obtener la descripcion formal. 

Reflexionar sobre las dificultades de la ultima fase de este camino inverse. Es decir, sobre la 
dificultad de pasar desde el automata a la descripcion en lenguaje natural. En realidad no le 
costard mucho darse cuenta de que tal cosa no es posible, porque un mismo automata puede 
representor el substrato formal de muchos problemas descritos en lenguaje natural. 

1.3. El ejercicio E.9.4 pertenece a una familia general de problemas en los que se necesita un 
circuito secuencial que detecte una determinada secuencia temporal en los valores de una 
serial digital. Estos problemas sepueden resolver, al menos, de dosformas: 

a) Usando registros de desplazamiento de carga serie y salida paralelo para tener accesibles 
todos los bits de la subsecuencia que queremos detectar. La configuracion pedida se 
detecta usando logica combinacional a partir de los estados, {Qi}, de los biestables D que 
constituyen el registro. 

b) Por el procedimiento general de sintesis de automatas finitos, identificando primero el 
numero de estados necesarios y buscando despues el diagrama de transicion de estados y 
la matriz funcional (sintesis con PLDs) o pasando directamente al cdlculo de lasfunciones 
de excitacion de los biestables J-K necesarios para conseguir esos estados y sus 
transiciones (metodo convencional). 

Revisar ese ejercicio observando como se hace la sintesis del detector de la secuencia 111 (sin 
solapamiento) y proponer ahora la solucion para un circuito que detecte las siguientes 
secuencias: 

I. 000 (sin solapamiento) 

II. Ill (con solapamiento, es decir, siempre que hayan tres unos juntos 



III. 101 

^Podria esbozar una ley general para las 8 secuencias de 3 bits (000, 001, 010, ...,111), con y 
sin solapamiento? . 

2: Contadores 

2.1. En el texto hemos descrito la clasificacion usual de los distintos tipos de contadores bdsicos: 
Asincronos o sincronos, reversibles o no reversibles, binarios o divisores por k ^ 2n, con 
arrastre serie o paralelo, etc... Reconstruya el drbol de clasificacion y describa con precision 
los distintos tipos finales (asincronos - no reversibles - binarios, ...) 

1.1. Disenar un contado asincrono binario de 3 bits usando biestables J-K disparados a 
bajadas ( -l). Dibujar el cronograma correspondiente. 

2.3. iComo se modificaria el cronograma del problema anterior si los biestables se dispararan en 
la subida de los pulsos ( f )en vez de en las bajadas ( -l )?. ^Que nueva modificacion se 
obtendria si para los biestables del segundo y del tercer bit tomamos como entrada de reloj las 

senales de ^^ ^^ en vez de tomarlas de QOy Ql? 

2.4. ^Podria ahora resumir los cuatro ciclos de contar entre y 7 de acuerdo con la siguiente 
tabla? 





tomo de Q la 
entrada del reloj 


tomo de Q la 
entrada del reloj 


Disparo a ~T 


9 


9 


Disparo a ^ 


9 






2.5. ^Como podria complementar alguna de las cuatro opciones del problema anterior para que el 
contador nos informara sobre el flujo de coches que han entrado y/o salido de un 
aparcamiento (hasta 7) y de los que hay dentro en un determinado instante (hasta 7)7. 

2.6. Modificar el diseno del contador del ejercicio 2.2. para que pase de binario a recorrer ciclos 
menores de 6,5,4 y 3 estados (0,1, 2,..., 5, 6,0: 0,1, 2,..., 5,0: 0,1,2,3,4,0 y 0,1,2,3,0). ^Podria 



formular algiin tipo de ley general para este tipo de aplicacion?. ^Cree que se facilitaria el 
diseno si se dotara a los biestables de entradas adicionales de preset y clear?. Demuestrelo. 

Le sugerimos que revise el ejercicio E.9.5. del texto de problemas si encuentra dificultades 
para resolver este ejercicio. 

1.1. Usar ahora las entradas de Preset y Clear junto con una serial de control de carga (load) para 
cargar al contador asincrono de 3 bits con un estado inicial (Oil), de forma que al final del 
ciclo vuelva tambien a ese estado (3,4,5,6,7,3). 

2.8. Hemos visto en el texto el uso del simulador para comprobar el funcionamiento del contador 
sincrono 74163 que incluye sefiales de control de carga, de facilitacion de la entrada y de 
arrastre para conectar con otros contadores andlogos. Simular la siguiente secuencia andloga 
a la que ya hemos visto: 

a) Poner todas las entradas a cero. 

b) Cargar como estado inicial el numero 8 en binario. 

c) Contar hacia arriba hasta 13. 

d) Inhibir el contador. 

I: Registro de desplazamiento 

3.1. Revise el ejercicio E.9.9. donde se analiza el fijncionamiento del registro de desplazamiento 
SN74195 y ponga especial atencion al control de la carga serie y paralelo. Para ver su 
fiincionamiento es conveniente simularlo siguiendo los pasos andlogos a los del problema 
anterior y asi ir viendo como actuan cada una de las sefiales de control. 

3.2. Analice el circuito de lafigura y compruebe que se trata de un registro de desplazamiento que 
sigue la siguiente secuencia de modos de fiincionamiento: 

Cargo paralelo 
b ) Desplazamiento 
c ) Desplazamiento 
dj Carga paralelo 




555 
ASTABLE 



RELOJ 




Q i*2 

Revise el ejercicio E.9.10 del texto de problemas, si tiene dificultades. 

3.3. Disenar de forma incremental y usando biestables J-K con Preset y Clear asincronos, un 
registro de desplazamiento de 3 bits con las siguientes funcionalidades: 

a) Carga serie y desplazamiento. 

b) Carga serie, desplazamiento y realimentacion controlada por una variable externa 
("real"), tal que real =1 hace recircular la informacion. Y real = 0, abre el pas o a la 
nueva carga. 

c) Quepueda borrarsey cargarse en paralelo y de forma asincrona. 

Usar comofuente de inspiracion los dos ejercicios anteriores para resolver este. 

3.4. Una de las posibles aplicaciones de los contadores y los registros es detectar secuencias 
binarias. Revise el ejercicio E.9.4. y resuelvalo usando registros de desplazamiento. ^Podria 
formular algun tipo de arquitectura general para resolver este tipo de problemas? . 



3.5. Otra de las aplicaciones de las estructuras tipo contador o registro es la sintesis de secuencias 
preespecificadas de estados, correspondan o no a la secuencia de "contar". Revise el ejercicio 
E.9.6. para ver la sintesis de las secuencias de numeros pares e impares y proponga un circuito 
que sintetice la secuencia: 012 3 7 6 5 0. 



En este tema hemos partido de modules pequenos (puertas y biestables) y hemos estudiado las 
arquitecturas de conexion de esos modules para obtener funciones de complejidad y grado de 
integracion intermedios. A partir de ahora se amplia nuestro repertorio de componentes reutilizables 
para el diseno secuencial. No solo podremos seguir usando las puertas, los MUX, las ALUs y los 
biestables, sino que los contadores y registros tambien estan a nuestro alcance como ''elementos de 
circuitos", es decir como bloques funcionales bdsicos para la sintesis de otras funciones. For ejemplo, 
para direccionar memorias, para controlar procesadores, para facilitar las transferencias entre 
registros, para controlar la entrada y salida de operandos a una ALU, etc. . . 

Esta es la idea del diseno jerarquico recursive que subyace en toda la Electronica Digital. De 
hecho, el propio microprocesador termina siendo un elemento de circuito. 

Referencias Bibliograficas 

1. Moreno-Diaz, R.: "Realizability of a Neural network Capable of all Posible Modes of 
Oscillation'' en E. Caianiello (ed), "Neural Network". Springer- Verlag. Berlin, 1968. 

2. Texas Instruments. "The TTL Data Book". 1987. 

3. www.fairchildsemi.com 

4. www.onsemi.com 







Temporizadores y relojes 



-f CONTEXTO 

Para completar las necesidades del diseno en logica secuencial nos hace falta estudiar los 
temporizadores y los relojes. A lo largo de todos los temas anteriores, y en particular en al diseno 
secuencial, siempre hemos supuesto que habia un circuito que producia pulsos individuales de distinta 
amplitud y duracion y trenes de impulsos para controlar a bajadas ( i ) o a subidas ( '\ ) las 
transiciones de estado en los biestables con los que disendbamos los contadores y los registros . 

En este tema vamos a abordar el estudio de este tipo de circuitos haciendo distincion, como 
siempre, entre el comportamiento externo observable y la estructura interna que, conectando puertas, 
comparadores, biestables y contadores, posibilitan ese comportamiento. 



> > CONOCIMIENTO PRE VIO NECESARIO 

Todo lo necesario de la Electronica Digital ha sido estudiado en capitulos anteriores (puertas, 
biestables y contadores). Hay una pequena parte de Electronica Analogica necesaria para calcular la 
duracion de los pulsos (en los circuitos monoestables) y lafrecuencia de un tren de impulsos (en los 
circuitos astables) a partir del proceso de carga y descarga de un condensador que no se ha vista 
previamente, pero es tan sencilla que no creemos necesario ningun conocimiento previo especifico. Lo 
mismo ocurre en el caso de los osciladores que usan un cristal de cuarzo para fijar lafrecuencia de 
oscilacion. El conocimiento que se ofrece aqui sobre este aspecto del tema es muy superficial y 
cualitativo. 

Ademds, como hemos comentado en otras ocasiones, esta asignatura no es una isla en el plan 
de estudios. El alumna suele estudiar a la vez asignaturas sobre las Bases Fisicas de la Informatica, 
donde encontrard los conocimientos de andlisis de circuitos necesarios y suficientes para este 
capitulo. 

->--♦-♦- Ob JETivos DEL Tema 

Los objetivos se centran en estudiar los distintos tipos de circuitos encargados de manejar el 
tiempo en los sistemas digitales. Al terminar el capitulo, el alumno deberd poder manejar con soltura 
los siguientes aspectos: 

Objetivo 1: Comprension de la estructura interna y del comportamiento de los circuitos 
monoestables (que poseen un estado estable y otro metaestable de duracion 
controlable) y de los circuitos astables (que poseen dos estados metaestables entre los 
que oscila). 

Objetivo 2: Comprender la estructura interna y la posibilidad de programacion externa de los 
circuitos tipo 555 y de otras temporizadores pragramables 

Objetivo 3: Adquirir el conocimiento general sobre la estructura interna y el comportamiento de 
los relojes monofdsicos y polifdsicos. 



^- -»--♦-♦- GUIA DE ESTUDIO 

En este tema es particularmente adecuado el uso del simulador para comprobar 
experimentalmente la influencia de los componentes pasivos (Ra y Rb sn el 555, por ejemplo) en la 
forma de onda de salida. 

El contenido del texto de problemas relacionado con este capitulo es particularmente extensoy 
fue redactado, tras algun tiempo de docencia, teniendo en cuenta las dificultades que nos comentaban 
los alumnos. Por consiguiente, aconsejamos su estudio con una relacion muy estrecha con el texto de 
teoria porque de hecho, se complementan. 



^^^ 



Conteniao del Tema 



10.1. CiRCUITOS DE TiEMPO 

Para completar las exigencias computacionales de la electronica digital nos hace falta introducir 
los circuitos de tiempo. A lo largo de todos los temas anteriores siempre hemos supuesto que existia 
un reloj que producia un tren de impulses responsable del comportamiento de todos los sistemas 
sincronos. Ese circuito es basicamente un oscilador no lineal en el que la frecuencia de oscilacion la 
marca un cristal o un circuito multivibrador, llamado tambien astable porque es un circuito binario (de 
dos estados) en el que ninguno de los estados es estable durante mucho tiempo, de forma que el 
circuito esta cambiando de estado constantemente. 

En este tema vamos a hablar de estos circuitos responsables de marcar el tiempo en los sistemas 
digitales. La figura 10.1 ilustra el tipo de formas de onda que necesitamos generar y el nombre del 
circuito que la produce. Hablaremos primero de forma general y despues iremos estudiando los 
circuitos correspondientes en grado de complejidad creciente. 

1. Temporizador elemental. 

Marca un intervalo de tiempo de duracion predeterminada y con instantes de inicio y fin bien 
defmidos. El circuito que realiza esta funcion se llama monoestable, porque solo posee un estado 
estable (el de baja), siendo la duracion del estado de alta la que define la duracion del pulso {figura 
10. La). Se usa para producir retardos de valor controlable, para conformar pulsos y para definir 
sucesos temporales entre dos pulsos sucesivos de un reloj . 

2. Oscilador digital elemental. 

Genera una onda cuadrada o un tren de impulsos de fi-ecuencia controlable. Se llama astable o 
multivibrador porque al igual que en los biestables ambos estados eran estables y en los monoestables 
solo era estable uno de los estados, en los circuitos astables ninguno de los dos estados es estable de 



forma que en su operacion normal esta conmutando constantemente entre los dos estados(/?^ra 
10. Lb). La frecuencia de oscilacion la marca la red de acoplo capacitivo que enlaza a dos 
amplificadores realimentados. 



v("l") 
v("0") 



v(t) 



Duracion controlable 



T 



C=lC> MONOESTABLE 



(a) 



hnicial ^final ^ 



V("l") 
V("0") 



V(t) 



Periodo (T) controlable 

I [>> ASTABLE 



^ y )f. 



(b) 



Duracion del pulso, tj, controlable 



-► Astable 



n 



n 



-► Monoestable 1 



a 



-► Monoestable 2 



JJliLnjUl — ► Salida, Vo(t) 



(c) 



Astable 



Monoestable 
1 



Monoestable 

2 




^dfO 



Figura 10.1. Necesidades de circuitos de tiempo. (a) Monoestable (genera un pulso de duracion 
predeterminada). (b) Astable (oscilacion). (c) Formas de onda compuestas sintetizables a partir 
de astables, monoestables y puertas logicas. 



3. Formas de onda compuestas. 

Es dificil que una aplicacion exija solo un tren de impulses (astable) o un pulso de duracion 
controlada (monoestable). Lo usual en los sistemas digitales es que sean necesarias formas de onda 
mas complejas, tal como hemos visto en los cronogramas de los circuitos estudiados en los temas 
anteriores. 

En los sistemas sincronos todas las formas de onda se construyen a partir de un oscilador basico 
y entre pulsos sucesivos se introducen retardos y se generan otros pulsos mas estrechos, por ejemplo, 
para aseguramos que la lectura de un dato se realiza cuando ciertos niveles estan estables. En el 
ejemplo propuesto en X&figura lO.l.c para ilustrar este tipo de seilal se dan "pistas" para su posible 
sintesis usando un astable y dos monoestables en la conexion propuesta. Observese que la seiial Vo(t) 

es el dato, lo que necesitamos y el circuito que combina el astable y los dos monoestables a traves de 
una puerta OR, es la solucion. 

En general, para la sintesis de estas senales compuestas se usan composiciones de monoestables 
y astables obtenidas a partir de temporizadores programables. El primer circuito de este tipo fue el 555 
introducido por Signetics en 1972. Este circuito puede configurarse como astable o como monoestable 
y posee facilidades adicionales de reset, control de modo y programacion de ambas formas de onda. 
Una segunda generacion de temporizadores programables de la que es representativa la solucion ICL- 
8240, se caracteriza por la inclusion de un contador programable y mas facilidades de control. 

4. Relojes monofdsicos y polifdsicos. 

La funcion de un multivibrador no posee la estabilidad suficiente para hacer depender de ella 
todo el control de un circuito de la complejidad de un microprocesador, por ejemplo. Por eso existen 
circuitos de tiempo a los que llamamos relojes en los que la frecuencia de oscilacion la fija un cristal. 
El resto de la electronica se encarga de hacer compatible los niveles logicos con la familia en cuestion 
(ECL, TTL o CMOS), introducir senales de facilitacion/inhibicion y, en algunos casos, aiiadir un 
contador como divisor de frecuencias. Esta descripcion corresponde a la de un reloj monofdsico. 

Existen otras aplicaciones, en general relacionadas con la logica dindmica de la que hablaremos 
en los temas siguientes, en las que hacen falta un conjunto de senales de reloj superpuestas de forma 
que todos los pulsos que aparecen dentro de un periodo mantengan una relacion especifica entre ellos. 
Este es el concepto de reloj polifdsico que se ilustra en \afigura 10.2. Con su estudio terminaremos 
este tema cuyo proposito es mostrar algunos de los circuitos basicos necesarios para la sintesis de 



cualquier secuencia de temporizacion. 



4> 








^A 










'^n 










a 








t'c - 


f- 


t2 




■-- -. 

t4 







Figura 10.2. Formas de onda tipicas de los relojes polifasicos. Las tres senales, 0^ (Z>g y (P^, mantienen una 
relacion fija que se repite en cada periodo. 

10.2. MONOESTABLES 



Un monoestable es un circuito binario con un estado estable y otro metaestable. La duracion de 
este ultimo se controla a traves de la constante de tiempo de una red R-C que establece la 
realimentacion entre dos inversores. Recordemos que cuando este acoplo entre inversores era solo 
resistivo obteniamos un circuito biestable (tema 8). Bajo condiciones estacionarias, un circuito 
monoestable se encuentra en su estado estable y ahi seguira indefinidamente si no se le aplica ninguna 
senal externa. Al llegar una seiial de disparo el circuito pasa al estado metaestable y alii permanece 
hasta que el proceso de carga del condensador lo Ueva de nuevo al estado estable. El tiempo que 
permanece en el estado metaestable (r = RClnl) es controlable a traves de i? y C y marca la duracion 
del pulso. 

El circuito de Xa figura 10. 3. a muestra el esquema de dos inversores acoplados a traves de una 
red R-C y las formas de onda que se generan en distintos puntos importantes del circuito: (1) Pulso de 
disparo, (2) salida del primer inversor, (3) entrada al segundo inversor y (4) serial de salida. La 
duracion del pulso depende de la caracteristica de transferencia del inversor B (CMOS) que fija el 
punto de disparo en el proceso de carga hacia la tension de alimentacion, Vqc siendo: 

, = _R.C.ln^^CCzYT_ 

^CC [10 J] 

Vamos a describir el funcionamiento del circuito siguiendo el camino de la senal de disparo de 



acuerdo con el cronograma de lafigura lO.S.b. Inicialmente el condensador esta descargado ya que 
tanto la entrada de disparo (1) como la senal de realimentacion estan en baja y por consiguiente la 
salida de la puerta NOR esta en alta. Tras la aparicion del pulso de disparo la tension en (2) cae 
abruptamente y el condensador C transmite el impulse a la entrada del inversor B a la vez que empieza 
a cargarse hacia Vqc- En consecuencia el inversor B pasa a alta y ahi se mantiene hasta que la tension 
de carga del condensador atraviese el valor umbral, Vj, provocando de nuevo el cambio en el inversor 
B que, junto con la desaparicion del impulso de disparo, vuelven la salida de la puerta NOR a su 
estado inicial de alta. 




Figura 10.3. Diseno de monoestables a partir de inversores CMOS, (a) Circuito basico. (b) Cronograma. 
ilustrando la evolucion temporal de los potenciales en los distintos puntos de interes para 
comprender el funcionamiento del circuito. 



Existen altemativas mas estables a expensas de usar dos constantes de tiempo y, en algunos 
casos, un diodo adicional. Lafigura lOA.a, muestra un circuito con dos inversores que se dispara a 
bajadas. 

En el estado estable la entrada al inversor A esta en alta y la salida en baja. Por consiguiente, la 
salida del inversor B esta en alta. Al aplicar una transicion negativa o un impulso en espiga, tal como 



muestra la curva 1 del cronograma de \a figura 10.4.b el condensador C; se carga con polaridad 
negativa a tierra y la salida del inversor A pasa a alta. Q se carga entonces hacia Vqc a traves del 
diodo Di y el inversor A, y la salida de B pasa a baja. A medida que Cj se descarga negativamente se 
carga a traves de Ri a Vcc (forma de onda 2). La salida de A permanece en alta hasta que la forma de 
onda de la tension generada por la carga de Ci pasa a traves del punto umbral de la caracteristica de 
transferencia del inversor A. En este momento su salida pasa a baja. 

^ 




toil 



t2 ti 



Figura 10.4. Otra solucion al diseno de monoestables con inversores. (a) Circuito. (b) Cronograma ( 
descripcion en el texto). 



ver 



El diodo D2 evita de forma transitoria la descarga de Q que se habria cargado cuando A estaba 
en alta (forma de onda 3 de lOA.b). El condensador C2 empieza entonces a descargarse hacia tierra a 
traves de R2 (curva 4 de \a figura 10.4.b). La salida de B permanece en baja hasta que la forma de 
onda generada por la descarga de Q pasa por el punto umbral de la caracteristica de transferencia de 



B. En este punto la salida de B vuelve al estado de alta caracteristico del estado estable inicial (curva 5 
de X&figura 10.4.b). 

La ventaja de usar dos puertas conectadas como inversores y pertenecientes a un mismo circuito 
es la similaridad de sus caracteristicas de transferencia. Estos ejemplos de diseno de monoestables 
usando inversores o puertas NOR no tienen mas interes que el pedagogico. Al permitimos "metemos 
dentro" del monoestable facilitamos la comprension de su principio de funcionamiento. Sin embargo, 
hay soluciones integradas en TTL (SN74121 y 123) y CMOS (SCL4047B) que realizan la funcion del 
monoestable con el solo uso de una resistencia y un condensador extemos, incluyendo ademas otras 
facilidades adicionales tales como capacidad para inhibir el pulso y disparo a traves de un circuito de 
Schmitt. 

Un disparador de Schmitt es un circuito binario que presenta histeresis en su caracteristica de 
transferencia. Cuando la tension de entrada va subiendo el umbral de disparo es mayor que en la 
transicion inversa, cuando va bajando. Esta histeresis se aprovecha en el disparo de monoestables y en 
otros muchos circuitos digitales para eliminar "rebotes". 

La figura 10.5 muestra el diagrama intemo, los terminales a los que se conectan la i? y la C 
extemas y la tabla de disparo del circuito SN74121. Observese que una vez disparado la salida es 
independiente de la entrada. Si no se conecta ninguna capacidad externa, la duracion del pulso es de 
30 a 35ns., pero puede variarse entre AOns y 2^s mediante una eleccion adecuada de la resistencia y la 
capacidad extemas. 



R 



ext 



^CC 






"exV^ext 

— — — o 



R 



int 



Al 
A2 
B 




U 



^Q 



ext 



^ext 



Entrada.^ 
Al A2 B 


Salidas 

Q Q 





X 


1 





1 


X 





1 





1 


X 


X 








1 


1 


1 


X 





1 


1 


i 


1 


-TL 


XT 


i 


1 


1 


-TL 


TJ" 


i 


i 


1 


-TL 


TT 





X 


t 


-TL 


TT 


X 





t 


-TL 


i_r 



Figura 10.5. Circuito monoestable en TTL, SN74121 y tabla de verdad. Observese que extemamente solo 
aiiadimos Rext y Cext para fijar la duracion del pulso. 



Para algunas aplicaciones pueden'ser mas adecuadas las soluciones SN74122 6 123 (dobles). 
Estos circuitos son redisparables y se disparan a niveles de forma que antes que acabe el estado 
metaestable pueden ser disparados de nuevo prolongando asi la duracion del estado y produciendo 
pulsos de salida muy anchos. Tambien tienen la posibilidad de acortar la duracion del estado 
metaestable a traves de una entrada de puesta a cero. Asi, hay tres modos de controlar la duracion del 
pulso: 

> Seleccion de la red R-C externa. 

> Redisparo, para alargar el pulso. 

> Puesta a cero, para acortarlo. 

Las figuras 10.6 y 10. 7 muestran el diagrama funcional, la tabla de control y un cronograma que 
ilustra los modos de control de la duracion del pulso por redisparo y por puesta a cero. La forma basica 
de controlar la duracion del pulso es mediante la red R-C externa. Para valores de C 
superiores a lO^pF, el valor del ancho del pulso t^, se aproxima por una expresion de la 
forma t^ = 0,28 -RCfl+0, 7/R). 



CLR' 




41 


(1) 


r^ 


^l 


& 


_n_ 

> 


(8) 




47 


(2) 


r-v. 






(3) 




(J 


Rl 






^(6) 




B?. 


(4) 






/^ 




f51 






Q 




r^ 




CLR 


R 


XKX 










Rl 


CX 





(9)1 (11)1 (13)1 
Rint Cext Rext/Cext 



Entradas 




Salidas 


a Ai 


A2 Bi 


B2 


Q Q 





X 


X X 


X 


1 


X 


1 


1 X 


X 


1 


X 


X 


X 


X 


1 


X 


X 


X X 





1 







X t 


1 


-TL-LT 







X 1 


t 


-TL-LT 




X 


t 


1 


-TLTT 




X 


1 


t 


-TLTr 




1 


; 1 


1 


-TL-LT 




i 


i 1 


1 


-TLU 




i 


1 1 


1 


-TL TT 


t 





X 1 


1 


-TL TT 


t 


X 


1 


1 


-TL TJ- 



Figura 10.6. Circuito intemo del monoestable redisparable, SN74122, simbolo logico y tabla de verdad. 



Comparando este circuito con el 121 de \& figura 10.5 se observa una nueva entrada B2, la 
posibilidad de puesta a cero (clear) y la configuracion que permite prolongar el pulso. 



Entrada B 




Pulso de 
redisparo 
























Salida con 








redisparo 


^ 




tw 








Salida sin 
redisparo 








■< — 






""*■ 









Entrada B 



Salida sin 
clear 

Salida con 
clear 



Pulso de 
"clear" 



(a) 



(b) 



Figura 10. 7. Cronogramas de los circuitos monoestables redisparables. (a) Cronograma de disparo, mostrando 
la diferente duracion del pulso con redisparo y sin redisparo. (b) Cronograma de borrado 
("c/ear"). 



10.3. ASTABLES 

Tal como comentabamos en la introduccion al tema, los circuitos astables son circuitos binaries 
(de dos estados) en los que ninguno de los estados es estable, de forma que actiian como osciladores 
no lineales o multivibradores conmutando constantemente entre ambos estados a una frecuencia 
determinada por la constante de tiempo de la red de acoplo. 

El principio de diseiio se basa de nuevo en el proceso de carga y descarga de un condensador 
extemo, C, a traves de una resistencia, R, hacia los valores extremos de la tension de alimentacion. La 
figura 10.8 muestra el circuito y las formas de onda correspondientes al disefio de un astable usando 
un amplificador operacional 

Supongamos que inicialmente el amplificador esta saturado a +Vcc- Aparecera entonces a 
traves del partidor {Rj, R2) un nivel de tension en la entrada no inversora de valor: 



^2 = Vcc 



Ri 



R1+R2 



[10.2] 



A partir de este instante el condensador se va cargando a traves de R hacia Vcc hasta que el 
potencial en vj supera al valor fijado por el partidor (Rl, R2) en V2. Asi, la tension v/ varia segun la 



expresion: 



V/ (t) = Vflnal + (^inicial " ^ final ) ' ^ 



siendo: t=RC, Vfin^r+Vcc Y ^inciar-^CC 



R: 



R1+R2 




(b) 



1 
+ Vcc 


MO 
















'Vrr 








t 


i 


^ V2(t) 


























t 


4- V^^ T 






+ 'CC 


/^" 


/^ 


\. 


-Vcc 




'-' 


\V 




^i 


::ir^i 

T 





flO.SJ 
[10.4] 



Figura 10.8. Circuito multivibrador o astable. (a) Sintesis mediante un amplificador operacional. (b) Formas 
de onda en los principales puntos de interes para comprender el funcionamiento del circuito. 
Observese como la comnutacion esta asociada al proceso de carga y descarga del condensador C. 

En t=ti la tension en la entrada inversora alcanza el mismo valor que el fijado en la entrada no 
inversora y la salida del comparador diferencial conmuta. Podemos calcular el tiempo que tarda la 
tension v; en alcanzar el valor de v^ igualando esta tension con la expresion de vi(t) para t=ti. Asi, 



R; 



R: 



Kj + K2 R] '^ R2 



[10.5] 



Despejando ti obtenemos: 



tj =R-C-ln 



1 + - 



2R- 



R 



[10.6] 



I J 



Una vez que conmuta el comparador diferencial su salida pasa a saturacion negativa {-Vcc) y 
establece un nuevo valor en V2: 



^2 = -VcC 



R: 



R1+R2 



[10.7] 



Comienza entonces la descarga del condensador desde el nivel positive anterior hacia - Vqc 
hasta que cruza de nuevo el valor de V2 y se repite el ciclo. En el tramo descendente, durante la 
descarga del condensador, la expresion de la tension en la entrada inversora es la misma de la 
expresion [10.3], pero los valores iniciales y finales son distintos. Asi, ahora 



^fmar-^CC y ^inciar + ^CC 



R: 



R1+R2 



[10.8] 



La constante de tiempo es la misma, t=RC, puesto que la descarga la hace tambien a traves de 
la misma resistencia, R, y el valor en el que se produce la conmutacion es el nuevo valor de V2. Asi, 
podemos calcular el tiempo que tarda en producirse de nuevo la conmutacion, t2. 



vi(0 = vj{t2) = -ycc + 



R: 



'cc 



Rj +R2 



-(-Vcc) 



■e 



RC - 



Ro 



cc 



R1+R2 



Despejando t2 obtenemos: 



t2=RCln 



1+- 



2R: 



R 



[10.9] 
[10.10] 



1 J 



Como podemos observar los tiempos tj y t2 tienen el mismo valor lo cual era de esperar ya que 
el circuito es simetrico . For tanto el periodo de la seiial que genera el astable es: 



T = 2ti =2R-C-ln 



1+- 



2R, 



R 



[10.11] 



I ) 



Al igual que en los otros circuitos binarios, siempre podemos usar inversores integrados en 
cualquier tecnologia para realizar circuitos astables aiiadiendole la red R-C externa. El principio de 
funcionamiento de estos astables es la deteccion del potencial umbral de las puertas en los procesos de 



carga de un condensador que experimenta asi un cambio brusco en el potencial de sus extremos. La 
figura 10.9 muestra una configuracion posible. 




Figura 10.9. Sintesis mediante dos inversores acoplados de un astable. (a) Circuito. (b) Cronograma. 

Cuando la senal de salida del inversor B esta en alta, su entrada esta en baja y el condensador C 
esta cargado positivamente y la entrada al inversor A es alta. Por consiguiente su salida es baja, de 
forma que el condensador posee una via de descarga hacia tierra a traves de R. La descarga de C 
(forma de onda 2 de la figura) continiia hasta que la tension en la entrada de la puerta A pasa por su 
valor umbral, pasando la salida de A a alta y la de la puerta B a baja. Se inicia asi el proceso inverse 
de carga de C hasta el siguiente paso por la tension umbral de la puerta A. 

10.4. CiRCUITOS DE TiEMPO TlPO 555 



Estos circuitos de tiempo fueron introducidos por Signetics en 1972 y se han convertido en la 
actualidad en un bloque funcional de uso muy general tanto en la Electronica Analogica como en la 
Digital. Es capaz de actuar como monoestable y como astable con duracion de pulso y frecuencia de 
oscilacion controlables, realizando tambien funciones de modulacion en anchura de impulsos, 
deteccion de pulsos omitidos, etc... 

La figura 10.10 muestra el diagrama funcional y las redes extemas necesarias para su operacion 
en los modos astable y monoestable. El paso de una configuracion a otra se realiza mediante un 
conmutador de dos posiciones y dos circuitos. Este circuito se realiza en tecnologia bipolar y CMOS 



(tipo ICM7555) aunque el diagrama fimcional es el mismo. La solucion CMOS se caracteriza por su 
bajo consumo. 



Reset 




SALIDA 



Figura 10.10. Temporizador 555. Circuito intemo y esquemas extemos de conexion para operacion en modo 
astable (A) y monoestable (M). 



Basicamente, el 555 consta de dos comparadores intemos que controlan el estado de un 
biestable el cual a su vez ataca a un transistor de descarga de una etapa de salida. Las tensiones de 
referenda de los comparadores son siempre proporcionales a la fuente de alimentacion, {Vqc), 
proporcionando asi un sincronismo de salida independiente de la alimentacion que puede variar entre 5 
y 15 voltios. para el caso bipolar 6 de 2 a 18 voltios para el caso CMOS. Veamos a continuacion el 
significado funcional de cada uno de los terminales. 

1. Tierra: Se conecta generalmente a tierra y su tension debe ser la mas negativa del circuito. 

2. Disparador. Terminal sensible a niveles de tension con un valor critico de Vcc^^ que coincide 
con la senal de referenda interna del comparador 2. Cuando la senal de este terminal baja de 
Fcc/3 el biestable pasa a alta haciendo que la salida en el terminal 3 pase a alta tambien. A este 
terminal se pueden aplicar tensiones cuyo valor se encuentre entre el valor de la aplicada en el 



terminal 8 y tierra (terminal 1). 

3. Salida: El nivel de tension aqui esta generalmente en baja y pasa a alta durante el estado 
metaestable u oscila entre ambos niveles en el modo astable. 

4. Reset: Este terminal, tanto en el caso bipolar como en el CMOS posee un nivel de control de 0,6 
a 0,7 voltios. Cuando la tension es inferior a este valor se interrumpe el ciclo de sincronismo 
volviendo el circuito al estado de reposo, pasando a conduccion a traves del biestable, al 
transistor que se usa para descargar al condensador, impidiendo que este se pueda cargar de 
nuevo. Este terminal de puesta a cero se debe conectar a la tension de alimentacion cuando no se 
use ya que mientras el potencial en este punto no supere un cierto valor el circuito no se puede 
volver a disparar y la salida permanece constante. Existen otras funciones de control de este 
terminal muy utiles en aplicaciones especificas. 

5. Control: Esta conectado intemamente a la tension de referenda del comparador 1, es decir a 
2Vcc /-?• Sin embargo se puede conectar a tierra a traves de una resistencia externa o a una 
tension externa que permite cambiar las tensiones de referenda de los comparadores actuando 
como entrada de serial de control. Cuando no se usa para este proposito se recomienda unir a 
tierra a traves de un condensador del orden de 0,01 i^F para filtrar el ruido de la fuente y evitar 
pulsos de ruido. 

6. Umbral: Es la entrada externa al comparador 1 que en la otra entrada tiene aplicada una tension 
de referenda de valor 2Vcc /3. For eso cuando la tension en este terminal supera la referenda el 
biestable y la salida pasan a baja. 

7. Descarga: Este terminal es el drenador del transistor de descarga. Se usa normalmente para 
descargar el condensador de sincronismo. 

Vamos a describir ahora los dos modos basicos de operacion que se seleccionan cambiando de 
posicion al conmutador de {M) a {A) y viceversa, tal como se ilustra en el circuito de la figura 10.10. 
En el modo monoestable, el terminal 7 se une al terminal 6, el 4 al 8 y entre el terminal 8 y el 1 se 
introduce el partidor clasico de todos los monoestables con R^ y C. Inicialmente, el condensador C 
esta descargado debido al transistor de descarga. Al aplicar un impulso negativo en el terminal de 
disparo, cuando el potencial de este terminal (2) cae por debajo de la tension de referenda del segundo 
comparador (Vcc/3), este comparador cambia de estado y arrastra con el al biestable que a su vez pasa 
al corte al transistor, "desconectando" el terminal 7 y permitiendo la carga del condensador. A su vez 



el biestable pasa a alta la salida (terminal 3). 

Una vez que el biestable ha sido disparado por una senal de entrada, no se puede disparar de 
nuevo hasta que no finalice el ciclo. La salida esta en alta hasta que en el proceso de carga (con una 
constante de tiempo T = Ra'C) la tension del condensador alcanza el otro umbral, IVcc^^- Entonces el 
primer comparador pone a cero al biestable, conecta el terminal 7 y descarga al condensador a la vez 
que lleva a baja al terminal de salida. La figura 10.11 muestra la conexion monoestable y el valor del 
retardo, td, para un cierto valor de la resistencia de carga para una solucion bipolar y otra CMOS. La 
tabla de la figura 10.12 resume el comportamiento del 555 operando como monoestable 



+Vcc 




lOtf 


,C(nF) BIPOLAR 

RA=lKn/ / 


10- 


^^lOOKQ/ 


1 - 


y/ /^ luny 


O'l- 


/ / / 


O'Ot 





iC(nF) 



CMOS 



lo^s 



Ims 



100ms 




10s '^ 100ns 



lO^s 1ms 



100ms 



Figura 10.11. Conexion monoestable del temporizador 555 y valor del retardo en las soluciones bipolar y 
CMOS. 



Veamos algunas consideraciones de orden practico referentes a los valores de i?^, C y Rl, asi 
como a las caracteristicas del pulso de disparo. En las soluciones bipolares el valor minimo de R^ debe 
ser tal que la corriente de carga inicial no supere un cierto valor que impide el funcionamiento 



adecuado del transistor de descarga. Para usar valores pequenos de C, es aconsejable elegir 7?^ lo mas 
grande posible compatible con el nivel minimo de corriente necesaria en el terminal 6. Para soluciones 
bipolares debe elegirse R^ de forma que la corriente inicial se encuentre entre l/jAy 5mA con lo que 

se pueden conseguir pulsos de duracion en un rango de 5-10--^ a \s. 



r 




555 como 


MONOESTABLE 




\ 


Reset 

© 


Disparo 
© 


Umbral 
© R 


S 


Q G 


Estado 

del 
Transistor 


Descarg 
© 


a Umbral Salida 

® © 

V (t+At) ^^ 


Estado 
del 
Monoestable 





X 


X X 


X 


1 


Conduccion 


Baja Z 


y 





Estable 


1 


V>Vcc/3 


V<2Vcc/3 





1 


Conduccion 


Baja Z 


v,,(t) = 





Estable 


1 


^rzd^\-_ 


V<2Vcc/3 


1 


1 


Corte 


AltaZ 


/ Vcc 
x = R^C 


1 


Metaestable 


1 


I V'-2Vcc/3 
Vcc/_3_-f - _J 





1 


Conduccion 


BajaZ 


, -1 2VCC/3 
T.=rjC 





Transicion 


1 


V>Vcc/3 


^ «- 2VCC/3 

-\ 





1 


Conduccion 


BajaZ 


'---.^ 





Estable 


Calculo de ti 


Vcc7 

2Vcc/3-:— - 


i 




— ► 


v(t> 

Vf = 

^i = 
2Vc 


= vf<-(vi-Vf) e-t/ 

Vcc , T = R^ 
= 0, v(t,) = 

c/3 =Vcc+(0-Vc 


r 

C 

= 2VCC/3 

i 


k. 




7 








t, = I^C In 3 



Figura 10.12. Tabia resumen del comportamiento del 555 operando en modo monoestable 



En tecnologia CMOS, todos los niveles de corriente de disparo, puesta a cero, etc. son 
extremadamente bajos (20pA, tipico) de forma que podemos usar valores de R^ en el orden de los 
lOOAfQ para producir tiempos de retardo de 10 s con solo lOOwF, por ejemplo. En cuanto a C, su valor 
maximo esta determinado por las corrientes de perdidas y el valor minimo en bipolar es de lOOwFy de 
l«FenCMOS. 

La carga del 555 bipolar puede ser fuente o sumidero de 200mA con tiempos de salida o bajada 
de lOOns Es aconsejable introducir una capacidad de 100«F desde el terminal 3 a tierra y si se preveen 
componentes inductivos en la carga, atacarla a traves de un diodo para eliminar las tensiones 
negativas. En CMOS la maxima corriente suministrada depende de la alimentacion. Para 18 voltios, 
pueden alcanzarse \OmA y hasta 50mA cuando actua de sumidero. 

El ancho minimo del pulso necesario para producir el disparo varia entre 100 y 10-^ ns. y no 
puede superar el valor Ra-C. Esta condicion produciria intervalos erraticos y se puede evitar 
diferenciando el pulso de disparo y usando un diodo de sujecion para evitar que los pulsos positivos 
superen el valor de la fuente de alimentacion. 

Veamos ahora la conflguracion astable. Por razones pedagogicas repetimos la conexion en la 
figura 10.13 . En esta figura se incluye tambien las graficas de los pares de valores de C y i?^ + 2Rb 
para las distintas frecuencias de oscilacion. El circuito se redispara el mismo mediante una 
realimentacion entre los terminales 2 {disparo) y 6 (umbral), de forma que la tension en los extremos 
del condensador oscila entre Vcc^^ Y ^Vcc^^- En este modo de operacion separamos el terminal 6 del 
7 con Rg. 

La. figura 10.14 muestra, en un cuadro resumen, el comportamiento del 555 en conflguracion 
astable. 

El condensador se carga a 2 Vcc /■? a traves de RaY RbV se descarga hasta Vcc /-^ a traves de 
Rg. Asi, variando la razon entre Ra y Rb se controla el ciclo de oscilacion. Si llamamos /; al tiempo de 
carga, t2 al de descarga y Tal periodo tenemos: 

tj = 0, 69{r^ +Rb)-C (salida en alta) PO. 12] 

t2 = 0. 69Rb ■ C (salida en baja) flO. 13] 

T = ti+t2=0'69{RA+2Rs)-C fjoj4] 



h 



Rb^Ra 



El maximo ciclo de uso es; + ^2 °^ + -^ °5 



[10.15] 



Para hacer maximo este cociente, i?^ debe ser lo mas pequena posible, pero lo suficientemente 
grande para limitar la corriente en el terminal de descarga (7). Para mejorar este ciclo de uso se puede 
introducir un diodo Di en paralelo con Rb- Asi, la corriente de carga pasa a traves de R^ y Di, 
mientras que la descarga es a traves de Rg. En esta configuracion los tiempos de alta y baja en la salida 
son funcion de resistencias independientes: 



tj « 0.69R^ C t2 ~ 0,69Rb ■ C 
T = tj +t2 = 0,69{R^ +Rb)-C, 

h +0 Ra'^ Rb 



[10.16] 
[10.17] 

[10.18] 



En la configuracion astable se puede usar el terminal de reset (4) para Uevarlo a tierra cuando se 
desee parar la oscilacion. Tenemos asi un control logico del oscilador con una simple puerta o un 
conmutador analogico. 



+ Vr 




iCC^lF) 



,--Ra+2Rb 




1 100 10" /Hz) 



Figura 10.13. Conexion del 555 en modo astable. 



c 


555 


como A S T A B L E 






>. 


Reset 
© 


Disparo Umbral 

(!>--© 

Vj, (t) 


R 


Estado 
S Q G del 

Transistor 


Descarga 
© 


Salida 
© 







X 


X 


X 1 Conduccion 


BajaZ 







1 


' v-^i" Vcc/3 





1 1 Corte 


AltaZ 


1 




1 


V'-'-'2Vcc/3 
--/*-- Vcc/3 





1 Corte 


AltaZ 


1 




1 


'/ " 2Vcc/3 
------ Vcc/3 


1 


1 Conduccion 


BajaZ 







1 


C ' 


'T 2Vc 


c/3 

- Vcc/3 





1 Conduccion 


BajaZ 









1 


^2Vcc/3 
--'-^•':-- Vcc/3 





1 1 Corte 


BajaZ 


1 




Caculo de ti y t2 


1 





Vf=Vcc, V^'^A+'^l^C 
Vj = Vcc/3 , v(ti) = 2Vcc/: 

2VCC/3 = Vcc +(Vcc/3 -Vcc:e'''''* 


! 
Ra+Rb)C 

c 




c' 
Vcc 

2VCC/3 - - 
Vcc/3 - 


\ 


" ■ -Xt' 


"^ 


ti = (RA+RB)Cln2 


1 


' _ _ _ J _ _ 


1 ^^^^ ^ 


f=0, T = Rf 

i =2Vcc/3 , v(t2) = Vcc/3 
Vcc/3 = +(2Vcc/3 -fSp'^'^'^^ 








1 ' 


' 


' t2 Y t 
















t2 = Rb C ln2 












V^^ 




^^^^ 




^ 










t" 



Figura 10.14. Tabla resumen del comportamiento del 555 como astable. 



Ademas de las aplicaciones propias de monoestables y astables, el 555 posee una amplia gama 
de posibilidades (generacion de rampas, modulacion de anchura de pulsos, deteccion de omision de 
pulsos, controles de temperatura, ...). A titulo de ejemplo vamos a comentar el detector de omision de 
pulsos (figura 70.75) y el generador de secuencias que usamos al comienzo del tema (figura 10.16). 




Figura 10.15. Ejemplo de aplicacion del 555 a la deteccion de la omision de un pulso en una secuencia. 



Analicemos primero el comportamiento del circuito de la figura 10.15. Queremos producir una 
salida siempre que falte un pulso en la entrada durante el tiempo de retardo. Para conseguir esto, 
establecemos un tiempo de retardo algo mayor que el intervalo de tiempo existente entre dos pulsos 
sucesivos de entrada. Asi, el ciclo de sincronismo esta constantemente puesto a cero por el tren de 
pulsos de entrada hasta que un cambio en la frecuencia de este tren o la omision de un pulso permite 
que, "por fin", se complete el ciclo de sincronismo produciendo asi un cambio en el nivel de salida. Es 
decir, el circuito 555 esta funcionando como monoestable redisparable ya que los valores de R y de C 
se calculan para que el monoestable este en alta un tiempo superior al periodo de los pulsos que se 
quieren detectar. Cuando falta un pulso en la entrada monoestable a este le da tiempo a volver a su 
estado estable (salida cero) y no se vuelve a disparar hasta que en la entrada no aparezca de nuevo el 
flanco negativo del siguiente pulso. Por tanto cada vez que la salida del circuito pasa a cero detecta la 
falta de pulsos en la entrada. 

La figura 10.16 muestra el ejemplo de diagrama de tiempos que usamos en la introduccion del 
tema y la forma de sintetizarla mediante el uso de circuitos tipo 555 en configuracion astable (AST) y 
monoestable (MSB). Memos introducido una puerta OR en el ejemplo para seiialar una forma de 



extender las posibilidades de estos circuitos de tiempo para conseguir secuencias de control. 



Astable 
AST 



Monoestable 
MSB-1 



V2(t) 



Monoestable 
MSB-2 



vi(t) 



V3(t) 




Figura 10.16. Ejemplo de uso del 555 para generacion de sefiales de control arbitrarias. 

En el ejemplo, para generar la forma de onda Vo(t) que es el dato de partida en el diseno, usamos 
un 555 en configuracion astable que genera un tren de impulses. Estos disparan el segundo 555 
conectado como monoestable (MSBl), quien a su vez dispara al segundo monoestable, MSB2. 
Finalmente, obtenemos la salida deseada, Vo(t), sumando las formas de onda del astable, vi(t), y del 
segundo monoestable, v^(t). Queremos repetir una vez mas que el ejemplo solo pretende ilustrar la 
posibilidad de realizar senales de control de forma arbitraria con el uso de este tipo de circuito. Alguna 
"ley" se puede extraer no obstante como generalizacion del procedimiento de sintesis que hemos 
usado: 



1°. 



2° 



Partir de un oscilador que genere pulsos "estrechos" y con una frecuencia tal que el intervalo de 
tiempo entre dos pulsos sucesivos sea suflciente para disparar uno o mas monoestables. 



Usar monoestables para generar pulsos del ancho deseado a partir de las referencias temporales 
que marcan las subidas o bajadas de los pulsos del astable ("reloj"). 

3°. Usar puertas logicas (AND, OR, MUX y/o DEMUX) para definir formas de onda compuestas, 
de acuerdo con las necesidades de la aplicacion. 



4". Todo lo que hemos dicho solo necesita para su smtesis (aparte del 555), logica combinacional. 
Sin embargo, existen muchas funciones de temporizacion que necesitan "memoria". Para su 
sintesis se ban desarrollado otros tipos de circuitos programables que incluyen, en general, 
contadores y biestables aislados. De ellos hablaremos a continuacion. 

10.5. Temporizadores Programables 

Para prolongar la duracion del retardo y para simplificar y hacer mas flexible el diseno con 
circuitos tipo 555, existe otra familia de circuitos de tiempo (tipo ICL8240, XR2240 6 MM5865), que 
son programables. Para ello incluyen en el mismo circuito las siguientes funciones (figura 10.17): 

> Un oscilador (base de tiempos). 

> Un contador programable. 

> Un biestable. 

> Circuitos de control. 

Estos circuitos pueden operar en modo monoestable o astable. En el modo astable generan la 
frecuencia base y ocho suboctavas (caso del ICL8240, por ejemplo). En el modo monoestable generan 
pulsos (tiempo de retardo) que van de microsegundos a boras 6 dias. La programacion de la duracion 
se realiza mediante la seleccion de una red externa, R-C, y a traves de la configuracion de vuelta a cero 
del contador. Para un valor fijo de RC podemos programar retardos que van desde RC hasta 255RC. 

Por otro lado, el oscilador intemo puede inhibirse para usar una base de tiempos externa que 
convierte al circuito en un contador programable y un generador de ocho suboctavas de la frecuencia 
base. El cronograma de la figura 10.17.b muestra las formas de onda correspondientes a la conexion 
generalizada. El ciclo comienza con la aplicacion de un pulso de disparo que facilita al contador, pone 
todas sus salidas a baja e inicializa la base de tiempos. La capacidad externa se carga a traves de R 
desde 0,2 V a 0,1 V generando una oscilacion de periodo T = RC. En las descargas se generan los 
pulsos que pasan al contador y el ciclo termina cuando se genera un pulso de puesta a cero (reset). 
Este pulso inhibe a la base de tiempos y al contador, pasando a alta todas las salidas del contador, 
incluida la de arrastre. 

Las salidas del contador son transistores en colector abierto que permiten la programacion 
mediante su conexion a un potencial positivo usando conmutadores manuales o por control electronico 



de conmutadores analogicos. Si todas las salidas estan conectadas juntas (AND cableado), la funcion 
de salida estara en baja hasta el final pero el ciclo puede acabar antes, con solo conectar las salidas 
adecuadas del contador a su entrada de reset de la misma forma que vimos en el tema de contadores 
para niimeros que no eran multiplos de 2. Si no se conecta a reset ninguna de las salidas el circuito 
opera como un oscilador a partir de la aplicacion del pulso de inicio. 



+ VCC 



lOkQ 



Rl 



(a) 



(b) 




Contador 

de 8 bits 



(para generar 

secuencias 
programables) 



Regulador 
de tension 



Oscilador 
de base de 
tiempo 



± 



Biestable 
de control 



Salida de 
arrastre 




+Vcc 



R 



0,01^F X 



C 



-J~ 



V^ 



51kQ 



Reset 



Disparo _J |_ 



® "LTLTLrLrLrLrLrLn 
T_ 
© ^ 



Figura 10.17. Ejemplo de temporizador programable. (a) Esquema del circuito intemo. (b) Cronograma 
mostrando la forma de las seiiales en algunos puntos. 



Este tipo de circuito es representative de la tendencia en el desarrollo de circuitos 
temporizadores potentes que, por un lado, camina hacia el desarrollo de controladores especificos (por 
ejemplo para cada tipo de microprocesador) y por otro lado, hacia temporizadores programables de 
uso general que no solo generan las funciones elementales del modo astable y monoestable, sino que 
permiten sintetizar trenes de pulsos de forma prefijada. 

10.6. Relojes 

Los relojes son circuitos de tiempo en la linea de las soluciones programables expuestas en el 
apartado anterior pero de mucha mayor precision y estabilidad en la frecuencia de oscilacion. La clave 
de su diseno esta en usar un cristal de cuarzo para defmir la frecuencia de oscilacion, en sustitucion de 
la red R-C pasiva. El resto del reloj incluye amplificadores, circuitos conformadores de onda, 
contadores para dividir la frecuencia y un conjunto de seiiales de control adicionales para facilitar o 
inhibir, sincronizar o establecer condiciones iniciales {reset). Cuando el reloj genera mas de una salida 
se llama polifasico y la fr)rma de onda en cada una de las fases mantiene una relacion precisa con las 
otras fases, necesaria, por ejemplo, para confrolar la inyeccion, el fransporte y la exfraccion de la carga 
en memorias dinamicas. 

El esquema general de un circuito de reloj es del tipo mostrado en lafigura 10.18. Consta de un 
oscilador, un amplificador, un circuito de paso de senal sinusoidal a senal digital con niveles de una o 
mas familias logicas (ECL, TTL o CMOS,) y un circuito generador de las distintas fases que incluye, 
en general, un contador y un conjunto de puertas logicas y retardos. Todas estas funciones estan 
usualmente integradas de forma que para el uso del reloj como elemento de circuito solo nos hace falta 
aiiadir la alimentacion y el cristal de cuarzo piezoelectrico que fija la frecuencia de oscilacion debido a 
que su impedancia es la propia de un circuito sintonizado de alta precision tal como veremos a 
continuacion. 

Los osciladores a cristal son osciladores sintonizados en los que el circuito resonante {R, L, C) 
se sustituye por un cristal. Lafigura 10.19 muestra el principio de funcionamiento de este tipo de 
oscilador. En un circuito L-C hay frecuencias bajas en las que domina la impedancia de la rama 
capacitiva {Xc=l/Cco). Para frecuencias altas domina la impedancia de la rama inductiva (Xi=Lco) y 
existe una frecuencia, llamada frecuencia de resonancia en paralelo, en la que las impedancias de 
ambas ramas se compensan dando lugar a una impedancia nula. Se cumple entonces que Xi=Xc y la 
frecuencia a la que esto ocurre, a>o, se Wama frecuencia de resonancia y se calcula igualando la 



expresion de la reactancia inductiva con la correspondiente a la reactancia capacitiva de forma tal que: 

1 _ 

[10.20] 



XlM^XcM ^ ^^o =77— 



COn = 



Cristall 



Oscilador 
+ 
Amplificador 



Convertidor 

Sinusoidal a 

Digital 

(TTL, ECL, CMOS) 



Genrador de 

Fases 

(contador) 



Senales de Sincronismo y Control 



Oscilador 
Fase 0j 

Fase 0„ 



rL_ 



rL 



I 



Oscilador 
Fase 



Fase 0_ 



Figura 10.18. Esquema general de un reloj polifasico. 



Esta situacion ideal se ve alterada en la realidad debido a las perdidas en la bobina, lo que exige 
considerar una pequena resistencia, R, en serie con L. Entonces, para que el circuito oscile es necesario 
cerrar el lazo de realimentacion a traves de un amplificador que compense las perdidas de forma que la 
ganancia total del lazo sea la unidad para esa frecuencia, 



Av(a>o) ■ [ Perdidas en (R, L, C)] = \ 



Cuando queremos que la oscilacion sea precisa y muy estable, usamos un cristal de cuarzo como 
circuito resonante para simular la red (R, L, C). Cuando a un cristal de cuarzo piezoelectrico se la 
aplica un potencial electrico extemo sufre deformaciones que dependen de forma estricta de su 
estructura y se comporta como un circuito resonante de acuerdo con el esquema equivalente de la 



figura 10.20. a con dos posibilidades de resonancia: serie (frecuencia cos) en la que la impedancia es 
cero y paralelo (frecuencia cop) en la que la impedancia es infinito. Ambas frecuencias (ffi*^ y cop) estan 
muy proximas y la pendiente de la curva de impedancia es muy alta, de forma que si introducimos al 
cristal en un circuito que le compense de las perdidas, este oscilara con una frecuencia fija 
extremadamente precisa y estable. La figura lO.lO.b muesfra un ejemplo de posible configuracion en 
la que el cristal se incluye en el lazo de realimentacion positiva de un amplificador operacional. En 
electronica digital, el amplificador se sintetiza usando la misma tecnologia que las puertas logicas. Por 
ejemplo, mediante un par diferencial en ECL o usando la zona de fransicion de un inversor CMOS, tal 
como comentamos en el tema correspondiente. 



Zi 



6 



av((4 



Pvo 



C 



Figura 10.19. Esquema general de un oscilador sintonizado. Consta de un amplificador con una impedancia de 
carga RLC que fija la fi-ecuencia de oscilacion. 



En el ejemplo de la figura el cristal opera en modo serie de modo que a la frecuencia de 
resonancia se comporta como una resistencia de bajo valor {R). El amplificador opera en 
configuracion no inversora con una ganancia, 



/ + 



Rs 
R 



2 J 



[10.21] 

Como la enfrada es una parte de la salida realimentada a traves del partidor de tension (i?y, R4, 
Rdel cristal), 1^ condicion de oscilacion sera: 



R1+R4+R. 



1 + 



R 



>1 



2 J 



[10.22] 



X(Reactancia) 




Figura 10.20. Osciladores sintonizados usando cristales de cuarzo para fijar la frecuencia de oscilacion. 

(a) Circuito equivalente del cristal y representacion del valor de la reactancia con la frecuencia. 

(b) Sintesis mediante un amplificador operacional. 



Finamente, Xd^ figura 10.21 muestra el uso de un cristal en un oscilador integrado en tecnologia 
CMOS (ICM7209), representative de los niveles mas sencillos de relojes monofasicos. El circuito 
incluye el amplificador-conformador de onda, un contador que divide por 8 y una entrada de 
facilitacidn/inhibiciopn (F/I). En la misma linea esta el circuito MCI 2061 con tecnologia ECL y 
salidas ECL y TTL. 

Existe una amplia variedad y especificidad en los circuitos de reloj. De hecho, cada 
microprocesador posee un circuito de reloj especifico que, con solo conectarle el cristal de cuarzo 
extemo, genera todas las seiiales que hacen falta para sincronizar y controlar el trafico de datos e 
instrucciones dentro del microprocesador. 



+5V 



V 




C=20pF 



Q(f/8) 



J 



Figura 10.21. Ejemplo de reloj integrado tipo ICM7209. Para su uso solo necesitamos conectar extemamente 
la alimentacion y el cristal de cuarzo. El resto de las funciones de amplificacion y conformacion 
de ondas ya las incluye el circuito. 



ha figura 10.22 resume el diagrama de bloques funcionales y el significado de los terminales 
correspondientes al reloj MCI 0802 en tecnologia ECL lOK de Motorola. Hemos elegido este circuito 
per su caracter de bloque funcional general en LSI de alta complejidad y versatilidad, sin ser 
especifico de ningiin controlador. Su diagrama de bloques responde de forma muy proxima al 
esquema general de reloj polifasico propuesto en la figura 10.16, salvo que su punto de partida es un 
reloj monofasico. El circuito incluye la logica y las lineas de control necesarias para generar las cuatro 
fases del reloj y facilitar las operaciones de inicio, parada y diagnostico. El circuito admite la 
expansion serie si fueran necesarias mas de cuatro fases y sus principales caracteristicas son la 
programabilidad del niimero de fases, inicio de oscilacion sincronizable y reset asincrono. 

La programacion de las fases se realiza a traves de las lineas TS4 y TS5. Cuando las dos estan en 
alta hay una fase, cuando TS5 esta en alta y TS4 en baja, hay dos fases, etc. Cada fase se considera 
activa cuando esta en baja y su duracion puede controlarse tambien a traves de TSO, TSl, TS2 y TS3. 
El final de cada fase es una transicion de baja a alta, tal como se requiere en los relojes que activan a 
los biestables "master-slave" en la familia logica ECL. 

La seleccion de una fase (134=1, TS5=1) se usa solo con circuitos en cascada, por ejemplo para 
obtener un reloj con cinco fases a partir de dos circuitos MC 10802. Si solo usamos un circuito, la 
funcion de reloj monofasico se obtiene programandolo como bifasico de forma que 0j es la fase 



deseada y 02 su complementaria. 



Inicio 

Reloj principal 

Control del ancho 
de los pulsos de< 
las fas es 

Iniciar/Parar 
Ciclo unico 
Fase unica 

Control de Modo 
Arrastre 

Detector defuse 
Master/slave 



Duracion 
ultimafase 



Start. 



INICIO SINCRONISMO 



Ck 



TSO 



TSl 



TS2 



TS3 



CONTROL 



GO/Halt 



I n li a ii 



sasp 



Reset 



Run/Maint. 



La^n/Cin 



TS4. 



TS5, 



TS6, 



CCout 



DESPLAZADOR 



TS7 



ETTT 



BUFFER 



ra 



L^mit 



01 



02 



03 



04 



Ciclo 
*'completo 



Salida 
ultima 
fase 



Salidas de las 
fases del reloj 



.Vee(-5'2K) 
• Vcc (tierra) 
- Vcco (tierra) 



Figura 10.22. Ejemplo de reloj polifasico en ECL (MC10802). Esquema fimcional y terminales. 

Las lineas de control determinan el modo de operacion del reloj (inicio, parada o diagnostico). 



Hay cuatro lineas de control: RESET, Run/Maint (R/M), Co/Halt (G/H) y Single Cicle/Single Phase 



(SC/SP). El RESET es una linea asincrona que domina a las otras tres. Cuando esta activa (en baja) 
pasa a todas las fases a un estado de alta y se usa como parte del procedimiento de inicializacion. 

El modo de mantenimiento se selecciona con R/M en alta y posee a su vez cuatro 
configuraciones de trabajo controladas por las otras dos lineas {G/H y SC/SP). Cada operacion en 
modo de mantenimiento se inicializa con las transiciones baja a alta de la linea START. Las cuatro 



configuraciones son: 



R/M 


G/H 


SC/SP 


Funcion 


H 


L 


L 


a) Parar al final de un ciclo 


H 


L 


H 


b) Parar al final de unafase 


H 


H 


L 


c) Avanza un unico ciclo 


H 


H 


H 


d) Avanza una unicafase 



En las dos primeras configuraciones (a y b), el funcionamiento del reloj es continuo. En el caso 
a), con G/H y SC/SP en baja, la oscilacion comienza con Start y continiia hasta terminar el ciclo 
durante el cual la entrada de control G/H ha pasado a alta, como se muestra en la primera parte del 
cronograma de \afigura 10.23 . En el caso b), el funcionamiento tambien es continuo y se controla con 
G/H en baja y SC/SP en alta, pero ahora al recibir la seiial de parada {G/H pasa a alta) el circuito se 
para al final de la fase que en ese momento esta activa, primera parte del segundo cronograma de la 
figura 10.23. 

Los modos c) y d) son de ciclo unico o de fase unica, respectivamente. El primero es una 
funcion de diagnostico seleccionada con G/H en alta y SC/SP en baja y se usa para avanzar solo un 
ciclo a partir de la posicion en la que actua el control Start, es decir, cada vez que hay un pulso de 
Start pasa solo un ciclo completo, es decir , las cuatro fases. (segunda parte del primer cronograma de 
h figura 10.23). En la configuracion d) el funcionamiento es el mismo pero ahora dejando pasar una 
fase cada vez que se presenta el pulso de Start y G/H y SC/SP estan en alta (segunda parte del segundo 
cronograma). La fase que pasa con cada pulso de Start es la fase siguiente a la que paso con el anterior 
pulso de Start. 

El segundo modo general de fvmcionamiento del reloj {Run) se selecciona con R/M on baja y las 
cuatro configuraciones del modo descrito anteriormente solo se diferencian en la fuente de la que 
procede la serial. Ahora estas operaciones continuas se inician con G/H en baja y no necesitan una 
seiial de Start adicional. La senal de salida de ciclos completos {CCgut) monitoriza el estado funcional 
del reloj indicando cuando esta funcionando o en la condicion inicial. 

Las formas de onda mostradas en el cronograma de la figura 10.23 corresponden al modo de 
mantenimiento y son representativas de la estructura general de todos los relojes polifasicos. Incluye el 
oscilador principal {Ck) que marca la maxima fi-ecuencia en el circuito, las cuatro fases de menor 
frecuencia y desplazadas, las senales de control asincrono {Reset, SC/SP, Start y Go/Halt) y el bit de 



status {CCout)> que monitoriza el estado del reloj . 



SC/SP L L 



Reset 


























































Start 
























Go/Halt \ L 


H 


















(f 






01 














































02 




































ff 


03 








































04 


































L0out 










































CCout 




[ 





















































Inicializacion Modo de mantenimiento, configuracion (a) 



Modo de mantenimiento, configuracion (c) 



Ck 



JUUUIJUUUUUUUUIJIJIAJUUUUL 



SC/SP 
Reset 


H 












H 












_ Yf 








Start 












L 










Go/Halt ! 




H 












01 




























02 








i) 






















03 
























04 


















L0out 












CCout 








_ 


\ 


ii 











Inicializacion Modo de mantenimiento, configuracion (b) Modo de mantenimiento, configuracion (d) 

Figura 10.23. Cronograma del reloj polifasico MC10802 cuando esta operando en modo de mantenimiento. 



10.7 Problemas 

En este capitulo hemos estudiado un conjunto de circuitos cuya mision es generar secuencias de 
pulsos de separacion y/o duracion variable para controlar el paso coordinado de senales entre distintos 
puntos de un sistema digital. Hemos visto que los elementos basicos son el oscilador y el monoestable. 
El primero genera una secuencia periodica de pulsos en general de corta duracion y en forma de onda 
cuadrada. El segundo genera pulsos aislados de inicio y fin controlables. Con la combinacion de 
ambos, junto con algunos elementos de logica combinacional y secuencial de los que hemos estudiado 
en temas anteriores, se pueden obtener todos los circuitos necesarios para temporizacion digital. 

Hemos dedicado un apartado final al estudio de los relojes monofasicos y polifasicos. 
Esencialmente, son osciladores de precision controlados por cristales de cuarzo piezoelectrico, que 
generan una senal periodica muy precisa. Poseen ademas, circuitos de control y divisores de 
frecuencia (contadores) que permiten controlar varias fases. 

Asi pues, el objetivo de los ejercicios de este capitulo es ayudar al alumno a manejar los 
circuitos de tiempo en los dos tipos de tarea usuales en electronica digital: andlisis y diseno. Es decir, 
podemos partir de un circuito temporizador concrete y preguntamos por cual es la forma de onda que 
genera ese circuito en tal o cual punto de interes. Inversamente, existiran ejercicios correspondientes a 
necesidades de diserio en el desarroUo de aplicaciones reales, en los que partiremos de una forma de 
onda y pediremos el diseno de un circuito que la genere. 

En ambos tipos de ejercicio (andlisis y sintesis) se parte del supuesto que los modulos de diseiio 
son circuitos integrados tipo 121, 123 6 555, por ejemplo. Existen sin embargo ejercicios 
complementarios en los que el proposito es reforzar la comprension del funcionamiento intemo de 
esos circuitos integrados. Ambos tipos de ejercicios son necesarios para alcanzar una vision 
razonablemente amplia e integral de la electronica digital. 

E.10.1. El circuito de lafigura incluye un monoestable sintetizado con puertas del tipo de lafigura 
10.3, junto con un generador de los pulsos de disparo. Dibujar las formas de onda en los 
puntos (1), (3) y (5) como respuesta al tren de pulsos que se muestra en laprimera linea del 
cronograma. Suponiendo que las puertas usadas son TTL y que la alimentacion es 
VCC^5 ^- ^Cudl es la expresion analitica de la forma de onda en el punto (3), que mide la 
variacion de la carga en el condensador? 




V©: 



7f ^- 

T=i/fgi(r^s 






Considerar que el estado inicial del biestable J-K es alta (Q=l) y que se dispara a bajadas. 
iCudl es la maxima duracion del pulso del monoestable suponiendo que T^lO-^s.?. 
Recordando que la duracion del pulso que genera el monoestable es t~RC ln2, ^que 
valores de Ry C necesitariamos para conseguir ese pulso?. 

E.10.2. Recordemos que el principio de funcionamiento de un astable es la deteccion de un 
potencial, de valor preestablecido, en los extremos de un condensador. Este potencial se 
presenta tras un cierto tiempo definido por la constante de carga y descarga del 
condensador (t =RC), y por el valor de lafuente de alimentacion, Vcc hacia la que tiende 
la tension. Al alcanzar este valor hay un cambio brusco en el estado de los inversores y 
comienza de nuevo todo el ciclo de carga/des carga. 

En el desarrollo teorico del tema hemes analizado la solucion con amplificador operacional. 
Vamos a realizar aqui el andlisis de la solucion con dos inversores. La descripcion 
cualitativa es la correspondiente a lafigura 10.9. 

Para puertas en CMOS la tension de disparo es Vcc^^- Comprobar entonces lasformas de 
onda de lafigura, obtenersu expresion analitica y demostrar que T=2RCln 2. 

E.10.3. El circuito SN74122 es un monoestable redisparables, cuya tabla de verdad y cronograma 



se muestra en las figuras 10.6 y 10.7. ^Como realizarias las conexiones para, usando dos 
circuitos de este tipo conseguir: 

(a) Un circuito astable defrecuencia de oscilacion 200kHz y onda cuadrada. 

(b) Un circuito astable de frecuencia de oscilacion lOOkHz y onda rectangular con 
duracion del pulso, t=210-6 s. 

Dado que esto es un circuito comercial el cdlculo de las valores de los componentes 
externos (R^^ y C^J hay que hacerlo de acuerdo con las especificaciones del fabricante, 
que para este circuito son: 

1) Para C^, < 10 pF el fabricante da unafamilia de curvas en las que se representa la 
anchura del pulso frente a la C^, y como pardmetro R^^. 

2) Para C^, > 10 pF, la anchura del pulso viene dadapor 



^ ^ext ^ext 



1 + 



0,7 



R. 



ext J 



donde K=0,32 para el circuito SN74122 (simple) y K=0,28 para el circuito SN74123 
(doble). En ambos casos, en esta expresion se considera que el valor de R viene dado en 
kO y el da C enpF. Se obtiene asi la duracion del pulso en ns. En nuestro caso, K=0.32. 

E.10.4. El circuito de la figura 10.10 muestra el circuito interna del 555 y el esquema externa de 
conexion para configurarlo como astable o como monoestable. Rellenar los valores de 
tension, estados logicos y formas de onda de la siguiente tabla para Vcc=5 V en los 
siguientes casos: 

(a) Conflguracion monoestable. 

(b) Conflguracion astable. 



Reset 


Disparo 

(2) 


Umbral 

(6) 


R 


S 


G 


^drenador 

(7) 


Extremos 
deC 


Salida 

(3) 





7 


? 


•? 


? 


7 


? 


? 


■? 


1 


" 


" 


" 


" 


" 


n 


" 


" 





















E.10.5. iComo podriamos sintetizar un divisor par 2 de la frecuencia de un tren de pulsos usando 



un astable y un monoestable? . Dibujar el circuito y estimar valores para las Ry C externas 
suponiendo que la frecuencia del tren de pulsos que debe generar el astable es 

f=l,210"Hz. iComo podriamos modificar el circuito anterior para dividir por 3 la 
frecuencia inicial?. 

E.10.6. En algun punto del capitulo hemes comentado como podria usarse un 555 como circuito 
detector de la omision de un pulso en un tren de impulsos estableciendo un tiempo de 
retardo algo mayor que el intervalo entre dos pulsos sucesivos. 

a) Disenar de forma precisa el circuito que realiza estafuncion para Irenes de impulsos 
cuya frecuencia es 10 kHzy la duracion del pulso es de 0,3- 10'^ s. 

b) ^Que modificaciones tendriamos que introducir en el apartado anterior para que solo 
se detectara unfallo cuando faltaran dos pulsos sucesivos?. 

E.10.7. Obtener lasformas de onda que generan los circuitos de las siguientes figuras en vq] y vo2- 



AST 

T=10-6s 

p=210-7s 



(a) 



MSB-1 
T = 2p 



MSB-2 
T=p 



MSB-3 
T=10p 




VO! 




AST 

T=10-'fs 

p=510-5s 


^c 


T 








J 


n 




Vol 


J 


n 








K Q 
Ck 


^ 


K Q 
Ck 










y 




y 
























































MSB 






(b) 










r = 


=10p 













V02 



E.10.8. Disenar un circuito que genere las formas de onda de la figura. Observese que 



corresponden de forma cualitativa a las de un reloj polifdsico andlogo al descrito en las 
figura 10.21, con solo dos fases que se activan a partir de un pulso de "start" y siguen 
activas hasta el cambio de nivel de la serial de "halt". Para la sintesis se pueden usar 
monoestables, astables, biestables y puertas logicas. Parafijar valor es numericos en las Ry 
C externas, suponer que el reloj principal es de 1 MHz y que todos los pulses duran 
0,510-6s. 

c'^ ^UUUUUUUUUUUUUUUUXJ 

Reset I 

Start_ \ \ J I 

Go/Hal I ^^ 



02 LJ U '' lA 



^^^^ 



Preparacion de la Evaluacion 



El comentario final del apartado sobre guia de estudio vale tambien ahora para la 
autoevaluacion. La mayor parte de los ejercicios que proponemos aqui tienen que ver con reflexiones, 
modificaciones y ejemplos analogos a los usados en el tema 10 del texto de problemas. Aqui hemos 
anadido, esencialmente, ejemplos de uso del simulador para poner de manifiesto como se puede 
modificar el comportamiento extemo de un temporizador actuando sobre su estructura interna y/o 
sobre sus componentes extemas de programacion. Fianalmente, la redaccion esta orientada a la 
preparacion de examenes. Los enunciados se parecen de hecho a preguntas propuestas en curses 
anteriores. 



Objetivos 



Circuitos monoestables y astables 

Circuitos tipo 555 y temporizadores programables 

Relojes monofdsicos y polifdsicos 



1 : Circuitos monoestables y astables 

1.1. Describa el comportamiento externa de un monoestable. ^Que senales extemas necesita?. 
iSobre que parte de la serial de salida tenemos control?. 

1.2. En la figura 10.3 de este tema describimos el diseno de un monoestable a partir de la 
realimentacion de un inversor y una puerta NOR acoplados a traves de una red R-C. Por otro 
lado recuerde que en el tema 8 (figura 8.10) estudiamos la realimentacion positiva de dos 
inversores como base de la biestabilidad. Reflexione sobre las analogias y diferencias entre 
ambas arquitecturas aparentemente identicas pero que en un caso conducen a dos estados 
estables y en el otro a un estado establey otro metaestable. Explique la diferencia. 

1.3. Estudie conceptual y analiticamente la forma de onda que aparece en los puntos 2, 3 y 4 de la 
figura. Dibuje la evolucion temporal de las senales en esos puntos cuando a la entrada se 
aplica un pulso positivo. ^Quepasa al duplicar el valor de C?. 

1.5. Describir el comportamiento externa del astable y volver a razanar sabre el hecho que una 



misma arquitectura (dos inversores cerrando un lazo de realimentacion positiva) haya dado 
lugar a 1) circuitos biestables, 2) circuitos monoestables y 3) circuitos astables. Explique como 
la red pasiva de acoplo (R, C, R-C) se encarga de marcar la diferencia. Observese como las 
memorias "digitales" en elfondo son analogicas porque dependen de un proceso continuo de 
carga y descarga de una capacidad. Piense tambien en que lo que las hace digitales es la 
existencia de mecanismos no lineales que "cortan " esos procesos de carga y descarga al llegar 
a cierto valor umbral. 

1.6. Recuerde que el principio de funcionamiento de un astable es la deteccion de un potencial, de 
valor preestablecido, en los extremos de un condensador. Este potencial se presenta tras un 
cierto tiempo definido por la constante de tiempo de carga y descarga del condensador (t=RC), 
y por el valor de la fuente de alimentacion, Vqc, hacia la que tiende la tension en bornas del 
condensador. Al alcanzar este valor hay un cambio brusco en el estado de los inversores y 
comienza de nuevo todo el ciclo de carga/descarga. 

Para puertas en CMOS la tension de disparo es Vcc/2. Compruebe entonces lasformas de onda 
de lafigura, obtener su expresion analitica y demostrar que T=2RCln 2. 

Vi 





CJ 



Si tiene dificultades en la solucion de este ejercicio le recomendamos que revise el ejercicio 
E.10.2 del texto de problemas. 

2: Circuitos tipo 555 y Temporizadores Programables 

En el resumen se muestra la estructura interna del 555 y las posibilidades de programarlo 
externamente para que actue como monoestable o como astable. Sobre este circuito vamos a 
desarrollar diferentes ejercicios de autoevaluacion 

2.1. Describa el significado funcional de cada uno de sus terminales en terminos del papel que 
juega en la estructura interna. Por ejemplo, "el terminal 4 actua de reset porque entra a traves 
de un inversor a la puerta NOR de reset de un "latch" R-S de forma que ". O bien "el 



terminal 6 cumple el rol del umbral superior de disparopor entrar en el terminal no inversor de 
un comparador diferencial cuya entrada inversor a estdfija a 2/3 de la tension de alimentacion. 
Entonces cuando la tension en el supera ....". etc. 

2.2. Conecte la parte externa del circuito para que opere como monoestable. Explique su 
funcionamiento y compruebe la validez de la tabla que se incluye en el resumen. Si encuentra 
dificultades, revise el apartado 10.4 del texto de teoria y el ejercicio E.10.4 del texto de 
problemas. 

2.3. Repita elproceso de andlisis para la configuracion astable. 

a) Conecte adecuadamente los conmutadores externos y explique el funcionamiento 

b) Trate de construir una tabla andloga a la del ejercicio anterior. 

Si encuentra dificultades, revise el apartado 10.4 del texto de teoria y el ejercicio E.10.4 del 
texto de problemas. 

Supongamos que al llegar aqui ya conocemos bien como funcionan los asiables y los 
monoestables, de forma queyapodemos usarlos como elementos de circuito para realizar otras 
funciones. 

Recordemos tambien que la duracion del estado metaestable en el monoestable es: 

ti = RaC ln3 
y que lafrecuencia del astable es: 

f-L-.J_- i 

T tj+t2 {R^+2RB)Cln2 
Intente resolver los siguientes ejercicios: 

2.4. Disenar un monoestable en el que la duracion del estado metaestable varie entre 17 fjs y 
8517^. 

a) Fije un valor para Cy calcule los valores de R 

b) Fije un valor de Ry calcule los valores de C 
^Cual de los dos metodos es mas conveniente y por que?. 

2.5. Disenar un astable que genere pulsos de 50/Js. de anchura yfrecuencia variable entre 5kHz y 
lOKHz. 



2.6. Conectar un astabley 2 monoestables para que el circuito resultante actue como divisor por 2 y 
por 3 de la frecuencia principal. 

Calcular los valores de las Ry las C correspondientes del astable y de los monoestables para 
que la frecuencia principal sea de IMHz. 



JUIMIIUIIUUI 

T=l/f 

rLTinrm 

Ti=2T f,=f/2 

nnn 



















Astable 
























( 


- 


Monoestable 

MSBl 

(elimina 1 pulso) 




















Monoestable 

MSB2 
(elimina 2 pulsos) 



























T2=3T f2=f/3 

1.1. En el tema hemos comentado como podria usarse un 555 como circuito detector de la omision 
de un pulso en un tren de impulsos estableciendo un tiempo de retardo algo mayor que el 
intervalo entre dos pulsos sucesivos. 

a) Disenar de forma precisa el circuito que realiza estafuncion para Irenes de pulsos cuya 
frecuencia es 10 kHzy la duracion del pulso es de 0,3- 10''^ s. 

b) iQue modificaciones tendriamos que introducir en el apartado anterior para que solo se 
detectara unfallo cuando faltaran dos pulsos sucesivos?. 

Si encuentra dificultades al resolverlo puede consultar elproblema E.10.6. 

\: Relojes Monofasicos y Polifasicos 

3.1. Disenar un circuito que genere lasformas de onda de lafigura. Observese que corresponden de 
forma cualitativa a las de un reloj polifdsico, con solo dos fases que se activan a partir de un 
pulso de start y siguen activas hasta el cambio de nivel de la serial de Halt. Para la sintesis se 
pueden usar monoestables, astables, bies tables y puertas logicas. Parafijar valores numericos 
en las Ry C externas, suponer que el reloj principal es de 1 MHz. y que todos los pulsos duran 
0,5 JUS. 



Ck 

Reset 

Start 

Go/Halt 




"l_l 



1 r 



1 



3.2. La mayoria de los osciladores controlados por cristal que van a ser usados como relojes de un 
sistema digital integran todas lasfunciones (incluido el amplificador de alta ganancia) salvo el 
propio cristal. En el tema hemos visto la solucion en CMOS (ICM7209). Analice ahora la 
solucion TTL, SN74321 cuyo circuito interno se muestra en laflgura adjuntayque opera entre 
1 MHz y 20 MHz e incluye salidas complementarias defrecuencia mitady un cuarto. El cristal 
se conecta entre XTAL-1 y XTAL-2 y el circuito resonante paralelo entre TANK-1 y TANK-2 
como se ha representado en la figura junto con su simbolo logico. 

LS321 









^ 


TANKl 


('K, 




G 

r— 1 r — 1 


(7) 


F 


— 


p ? 


_l U L_ 


^ (12) 


f 


~~ 






(10) 






\ 


TANK2 


(2) 




i> 


F' 






n 


XTALl 


(14) 


^w 


r 








^'\ 


(13) 








CTRDIV2 








(5) 


F/2 




(6) 






CTRDIV2 

> + 


F/4 




(4) 




>C1 




FFD 


ID 




FFQ 











TANKl ^'^ X| 

(2) 
TANKl XI 

XTALl ^^*^ XI 



FFD 



AX^ii -^i^-XJ 



(5) 



LS321 I o[>- 



osc 



>- 

Po ^ 



C>Ck 



"Lo 



■i> 



Driver 
Selection 



0>Ck 






D Q 
<:>Ck 



(7) 



(12) 



(10) 



F 

Vcc 



F- 



(9) - 

F' 



(13) /^/2 



(6) 



(4) 



F/-/ 



FFe 



^^^^^ 



Todos los procesadores actuales incorporan sus propios relojes polifasicos, en general de 
complejidad muy superior a las soluciones mostradas en este tema. Nuestro proposito ha sido mas 
modesto. Solo deseamos que a partir de ahora, en el estudio de memorias y en el resto de la docencia 
de la Electronica Digital incluida en otras asignaturas, el alumno sepa como generar un pulso de 
duracion controlable, como generar un tren de impulsos y como usar estos componentes basicos de la 
funcion de temporizacion para generar las estructuras temporales de control necesarias en un sistema 
de calculo digital. Hemos visto que, esencialmente, esto se consigue con astables o relojes, 
monoestables, contadores binaries y algo de logica combinacional adicional. 



Referencias Bibliograficas 

1. Grebene, A.B.: "Bipolar and MOS Analog Integrated Circuit Design". J. Wiley & Sons. 1984 

2. Texas Instruments. "The TTL Data Book". 1987. 

3. www.fairchildsemi.com 

4. www.national.com 



I 




Memorlas RAM y CAM 



-f CONTEXTO 

A lo largo de todo el texto hemos usado la estrategia de reflexionar primero sobre un conjunto 
de necesidades computacionales y estudiar despues los circuitos electronicos que soportan la 
satisfaccion de esas necesidades, haciendo siempre referenda a los sistemas de cdlculo digital. 

Asi hicimos al estudiar la logica combinacional y las necesidades de circuitos que realizaran 
operaciones aritmetico-logicas y de rutas de dates y asi volvimos a actuar al comienzo de los 
circuitos secuenciales. Vimos primero la necesidad de un nuevo modelo matemdtico y de circuitos 
biestables y despues los estudiamos aplicados a la sintesis en general y al diseno de registros y 
contadores. 

Con esto tenemos cubierta una parte importante de la electronica digital que se necesita en 
arquitectura y tecnologia de computadores. Sin embargo, si tuvieramos que decidir cudles son las 



funciones electronicas mas necesarias en computacion en terminos del area de silicio que ocupan, no 
cabe duda que esa funcion es la de almacenamiento transitorio o permanente de datos e 
instrucciones. Es decir, de las funciones de memoria en los distintos niveles (registros internos, 
cache, memoria principal, etc.). Ademds, cada vez se piden mas prestaciones a las memorias par 
parte de los procesadores, por lo que este apartado de la electronica digital es quizds el mas 
dindmicoya que sigue habiendo una gran distancia entre lo que requiere un procesador a 800MHz y 
lo que ofrece una memoria a 250MHz. 

En el tema 7, cuando estudiamos la logica combinacional programable, hicimos una 
clasificacion de las memorias distinguiendo primero entre las de "solo lectura " y las de "lectura y 
escritura " y dentro de estas ultimas entre no volatiles (EEPROMs) y volatiles. Aqui vamos a empezar 
el estudio de las volatiles. Es decir, de los circuitos de memoria activos, que usan biestables tipo R-S 
para almacenar la informacion.. 

Recordemos que alii termindbamos la clasificacion de las memorias activas usando como 
ultimo criterio la forma de direccionamiento (aleatorio, por contenidos y secuencial). Pues bien, en 
este tema 11 vamos a estudiar los dos primeros. Es decir, las memorias RAM estdticas (SRAM) y 
dindmicas (DRAM) y las memorias direccionables por contenido (CAM). En el proximo tema 
estudiaremos las memorias de acceso secuencial. 

Observese que bajo el nombre historico de RAM (Ramdon Access Memory), de lo que estamos 
hablando es de memorias de lectura-escritura (RWM), volatiles (que solo mantienen informacion 
cuando estd la fuente de alimentacion), de acceso aleatorio (que cuesta el mismo tiempo acceder a 
cada una de las distintas direcciones) y que son estdticas, SRAM, porque almacenan la informacion 
en un biestable o dindmicas, DRAM, porque almacenan informacion en un condensador y necesitan 
mecanismos de "refresco" para reponer laperdida de cargapor corrientes defugas. 

^^ CONOCIMIENTO PREVIO NECESARIO 

Para las funciones de organizacion, incluyendo la seleccion y el control de los procesos de 
lectura y escritura, necesitamos decodificadores y otros circuitos combinacionales y secuenciales que 
ya conocemos de temas anteriores. Quizd, para el estudio de los amplificadores sensores sea 
conveniente recordar algo de electronica analogica referente al comportamiento de los 
amplificadores diferenciales que se usaron en el tema 4 para introducir lafamilia logica ECL. 



Finalmente, para el estudio de las distintas celdas SRAM y DRAM en bipolar y MOS no 
usaremos nada que no se pueda encontrar en los temas 2, 3 y 4. Bdsicamente, estas celdas son 
biestables R-S en los que se intenta refinar el diseno para conseguir que ocupen la menor area 
posibley, por consiguiente, se pueda conseguir la maxima densidad de integracion. 

-^ -f-f Ob JETIVOS DEL Tema 

Objetivo 1: Estudio de las memorias RAM estdticas (SRAM): Organizacion, celdas bdsicas en 
bipolar y MOSy ejemplos. 

Objetivo 2: Estudio de las memorias RAM dindmicas (DRAM): Organizacion, celdas bdsicas y 
ejemplos. 

Objetivo 3: Estudio de las memorias CAM: Organizacion, celdas bdsicas y ejemplos. 

Al terminar el estudio del tema el alumno deberd tener una idea razonablemente clara y 
completa de la problemdtica electronica asociada a las memorias activas, desde la busqueda de la 
minimizacion de sus celdas bdsicas hasta los avances en organizacion y arquitectura encaminados a 
aumentar la velocidad y el ancho de banda (RAMs sincronas, modo "hiperpdgina " o de salida de 
datos extendida, EDO, etc.) 

-♦-»-♦>-♦- GuiA DE Estudio 

Memos intentado presentar las memorias RAM y CAM sin una dependencia muy directa con 
circuitos concretos que solo se usan como estrategia pedagogica ya que estamos convencidos de que 
sea cualfuere el circuito seleccionado va a ser sustituido por otro mas veloz, de mayor capacidad y 
con mejores prestaciones en un corto intervalo de tiempo. Sin embargo, el descubrimiento de nuevas 
celdas bdsicas no parece tan probable y las necesidades de direccionamiento, control y circuitos de 
entrada/salida van a permanecer bastante invariantes. Por consiguiente, aconsejamos que se estudie 
el tema focalizando en los aspectos generales y comunes y que se acceda a traves de la web a las 
distintas casus comerciales para conocer en cada memento el estado actual del mercado de las 
memorias RAMy CAM. 

Finalmente, los ejemplos que incluimos aqui y los que se desarrollan en el texto de problemas 



siempre usan versiones minimas de cada tipo de memoria ("circuitos con dos palabras de dos bits ") 
para hacer manejable el estudio de los circuitos de direccionamiento y control de 
lectura/escritura asi como la comprensidn de los cronogramas correspondientes. 



Contenido del Tema 



11.1. Memorias de Lectura/Escritura Volatiles 

El esquema de \a figura 11.1 es una version modificada del que vimos en el tema 7 para 
clasificar los distintos circuitos de memoria {figura 7.8). Ahora nos "olvidamos" de las PROM y las 
EEPROM y hacemos enfasis en las volatiles. Su caracteristica distintiva es que usan circuitos actives 
(biestables) para almacenar la informacion. De hecho, los biestables del tema 8 y los contadores y 
registros del tema 9 son circuitos de memoria volatiles. Lo que justifica su estudio separado es el 
tamaiio, el caracter masivo de la informacion que queremos almacenar primero y recuperar despues de 
forma precisa y eficiente. 

Dentro de las memorias volatiles y de acuerdo con el procedimiento de direccionamiento, es 
decir, de la forma de acceder a una posicion concreta, tenemos: 

a) Memorias de acceso aleatorio (RAM) 

b) Memorias de acceso por contenidos (CAM) 

c) Memorias de acceso secuencial (FIFO, LIFO) (las estudiaremos en el tema siguiente). 

En las memorias RAM, la informacion se organiza por bits o en palabras de n bits y estas 
palabras se almacenan en posiciones fisicas que son accesibles de forma independiente. Es decir, 
existe la posibilidad de seleccionar una posicion cualquiera, leer su contenido y/o escribir un nuevo 
dato. Estas memorias deberian Uamarse de lectura/escritura y acceso directo. El tiempo de acceso a 
cada una de las distintas posiciones es el mismo, a diferencia de lo que ocurre con las memorias de 
acceso secuencial. 

A su vez, las RAM se clasifican en estaticas (SRAM) y dinamicas (DRAM), atendiendo a la 
forma de almacenar la informacion (biestables o condensadores) y por consiguiente a las exigencias 
de circuitos perifericos adicionales para recuperar la perdida de carga por corrientes de fuga. 



Memoria 
de Lectura y Escritura 

(RWM) 



No VoUtiles 

Retiene la infoimacion 

indefinidamente 

(pasivas) 



Acceso Aleatorio 



VolStiles 

Pierden la informacion al 

desconectar la ftiente 

Usa circuitos activos- 

biesiables 



Acceso por Contenido 

CAM 



Acceso Secuencial 



SRAM 

Menor densidad 
Mas rdpidas 





Asincronas 




/ 


/ 




\ 




I/O 

juntas 




I/O 

separadas 



Rtfagas 



DRAM 

Mayor densidad 
Menos rdpidas 



Orientada a 
aplicaciones 




Otras 



Figura 11.1. Clasificacion de las memorias de lectura/escritura. 

En las memorias asociativas, o direccionables por contenido, CAM (Content Addressable 
Memory) se escribe de forma normal, analoga a las RAM, pero se lee por el contenido de las celdas 
de memoria, no por la direccion. Su proceso de lectura consiste en la comparacion simultanea de un 
contenido, o parte de un contenido (bits no enmascarados) con todos los contenidos de la memoria o 
de un sector de la misma de forma que cuando existe una coincidencia se extrae la direccion 
correspondiente, o el resto de la informacion, caso de haberse realizado la comparacion con solo una 
parte de los bits. 



Las memorias de acceso secuencial tienen la estructura de registros de desplazamiento, de 



modo que se accede a su lectura y/o escritura de forma secuencial. Los datos pueden recircular en los 
registros o acumularse en estxucturas FIFO (First-In, First-Out) o LEFO (Last-In, Firs-Out). En las 
primeras, el primer dato que entra es el que primero va a salir, cuando acabe de recorrer por 
desplazamiento la longitud del registro. En las segundas, el primer dato que entra es el ultimo que sale 
porque los nuevos datos le empujan "hacia arriba", apilandose. Por eso a las organizaciones LIFO se 
les suele llamar tambien memorias "pila". 

Finalmente, la seleccion de tecnologia (bipolar, MOS, CMOS, BiCMOS, AsGa,...) esta 
asociada a las necesidades de velocidad, consume y densidad de empaquetamiento. 

11.2. Organizacion de las Memorias SRAM 

Las memorias RAM estaticas constan de un niicleo de almacenamiento formado por un niimero 
muy grande de biestables R-S y un conjunto de circuitos perifericos de direccionamiento y control de 
las operaciones de lectura/escritura. 

El elemento basico, la celda R-S, almacena un bit y el conjunto de celdas (bits) se organizan en 
terminos de bytes o palabras, que son grupos de n bits (8, 13, 32, ...) que se tratan globalmente. Cada 
direccion corresponde a una palabra. Asi, con k bits podremos direccionar K=2k palabras y la forma 
mas inmediata de acceder a cada una de estas palabras es usando un decodificador de A: a AT, tal como 
se ilustra en la figura 11.2. Este decodificador solo tiene activa una de sus 2*^ lineas de salida 
dependiendo de la direccion {Aq, Aj, ...,A]^.j) presente en la entrada. Al ser direccionada una palabra 
quedan accesibles para lectura/escritura todos sus bits. 

Sin embargo, esta organizacion no es eficiente por el caracter longitudinal del circuito. Es mas 
logico buscar una estructura matricial de forma que las dimensiones horizontal y vertical del circuito 
scan comparables. Esto se consigue al repartir los bits de la direccion {Aq, Aj, ...,Ak-l) en dos grupos, 
uno para direccionar las filas de una matriz {Ai, Ai+j, ....Ak-i) y el otro para direccionar las columnas 
{Aq, a I, ..-Ai-i) de forma que el elemento direccionado es el correspondiente a la interseccion de la 
fila (llamada linea de palabra) y la columna (llamada linea de bit) correspondientes a esos dos 
componentes de la direccion {Ai, Ai+j, ...,Ak-l) Y (^0. ^h ■■■Ai-i)- 

Si a estos circuitos decodificadores de la direccion y a la matriz de 2^-' filas (palabras) y 2' 
columnas (bits) le anadimos los circuitos de control de los procesos de lectura/escritura y de seleccion 



de circuito y los circuitos de entrada y salida, obtenemos el esquema basico de organizacion de una 
memoria SRAM que se muestra en lafigura 11.3. Observese que lo que direccionamos con filas y 
colunmas son las coordenadas de un piano. Es decir, una celda (un bit) por cada direccion. Si cada 
palabra tuviera 8 bits, por ejemplo, la imagen de la memoria seria tridimensional y podria conseguirse 
con uno o varios circuitos direccionados en paralelo. Por ejemplo, incluyendo los 8 bits en un linico 
circuito, yuxtaponiendo dos circuitos de cuatro bits cada uno u ocho circuitos de un bit. Asi, hablamos 
de circuitos como el INTEL2147H de 64x64x1 (64 filas, 64 colunmas, 4096 palabras de un bit) o 
circuitos 256x128x8, es decir de 256 filas, 128 colunmas, 32768 palabras de ocho bits). 



nbits 







' 










y^ 


palabra 



R 

S 


Q 
Q 


R 

S 


Q 
Q 


• • • 

palabra 


R Q 

S Q 


y^ 






Decodiflcador 


, , 




palabra 
1 


R 

S 


Q 
Q 


R 

S 


Q 
Q 


• • • 

palabra 1 


R Q 
S Q 


• 
• 


• 


k-1 


• 

palabra 
K-l=2k-l 








• 
• 
• 




\. 


R 

S 


Q 
Q 


R 

S 


Q 
Q 


• • • 

palabra 2^-1 


R Q 

S Q 


\\ 





Figura 11.2. Forma intuitiva de direccionar una memoria SRAM de K palabras de n bits cada una. 
Cada palabra esta en una direccion a la que se accede directamente a traves de un decodificador 
deytaAT 



Para ilustrar la descripcion fimcional de la organizacion de las memorias SRAM vamos a usar 
el circuito CY7C109 de CYPRESS. Este circuito es una memoria CMOS estatica organizada en 
512x256x8. Es decir en 512 filas y 256 colunmas y por consiguiente 131072 palabras de 8 bits cuyo 
diagrama de bloque se muestra en \a figura 11.4. 



Matriz de 
2*-' filas X 21 columnas x n bits 



Ai 
Ai+i 



Ak-1 



Decodiflcador 
de Filas 




linea de bit 



linea depalabra 



celda 
seleccionada 




Ampliflcadores Sensores I/O 

{columnas) 



AAA 



A~T 



-► I/Oo 
-> I/Oi 



-► i/o„.i 



Decodiiicador 
de Columnas 



Ao Ai 



Ai-i 



Figura 11.3. Organizacion de una memoria SRAM. 

Como tiene 512 filas necesitamos 9 bits para direccionarlas (Aq, Aj, ..., Ag). Analogamente, 
para direccionar las 256 columnas necesitamos los otros 8 bits (Ag, Ajo, ..., Aja). Como las palabras 
son de 8 bits necesitamos 8 lineas de entrada/salida (I/Oq, I/Oj, ..., I/Oj). La gestion de la funcion 
concreta que realizan estas lineas en los distintos modos de funcionamiento se controla a traves de 



buffers de tres estados, de forma que cuando se facilita la salida de datos (OE) los buffers de salida 
estan activos y los de entrada estan desconectados del bus, en estado de alta impedancia. 
Inversamente, en operaciones de escritura los datos entran por las mismas lineas fisicas pero ahora los 
buffers de salida estan inhibidos (alta impedancia) y los de entrada estan facilitados. 




Ag Aio . . . Aig 



Figura 11.4. Diagrama de bloques del circuito de memoria SRAM CY7C109 de CYPRESS. 



La memoria posee un circuito de control con cuatro senales ( CEi, CE2, WE y OE ) que le 
permiten operar en cuatro modos: lectura, escritura, bajo consumo cuando no estd seleccionada y 
seleccionada con las salidas inhibidas. La tabla de verdad correspondiente a las distintas 



configuraciones en los valores de estas variables necesarias para la seleccion de cada uno de estos 
modos es la que se muestra en \afigura 11.5. 



CEi 


CE2 


OE 


WE 


I/O0-I/O7 


Mode 


Consumo 


H 


X 


X 


X 


AltaZ 


Bajo Consumo 


Standby (Isb) 


X 


L 


X 


X 


AltaZ 


Bajo Consumo 


Standby (Isb) 


L 


H 


L 


H 


Salida de Dato 


Lectura 


Activa (Ice) 


L 


H 


X 


L 


Entrada de Dato 


Escritura 


Activa (Ice) 


L 


H 


H 


H 


AltaZ 


Seleccionada pero 
con salidas inhibidas 


Activa (Ice) 


CEi = facilitacion del circuito {chip enable), activa en baja 
CE2 = facilitacion del circuito {chip enable), activa en alta 
OE = facilitacion de la salida {output enable), activa en baja 
WE = facilitacion de la escritura {write enable), activa en baja 



Figurall.5. Configuraciones de las seiiales de control para la seleccion de los distintos modos de 
fiincionamiento de la SRAM. 

Para escribir una palabra en la memoria seleccionamos la configuracion 
{CEi = L, CE2 =H, OE = xyWE = L). Es decir, ponemos en baja la serial de seleccion del circuito 
en el que vamos a escribir {CEi=0 y CE2=1) y activamos la orden de escritura {WE = 0). 
Entonces los datos que estan en las 8 lineas bidireccionales de entrada/salida (I/Oq, ..., I/O7) se 
escriben en los 8 biestables que estan en la direccion especificada por (Aq, ..., Aig). 

Para leer usamos la configuracion de control CEi^L, CE2 =H,OE = LyWE = H,es decir, 
activamos las lineas de seleccion del circuito en el que vamos a leer {CEj=0 y €£2=1), 
facilitamos la salida de datos {OE = ).y damos la orden de lectura {WE = 1). 

Este circuito tiene la posibilidad de reducir drasticamente el consumo cuando no esta 
seleccionado (modo "power down"), pasando de llOmW a l65mW. En este caso la configuracion 
debe ser CEi =1, CE2 =x, 6 CEi =x, CE2 =0, no importando los valores de OE y WE . Esto 



hace que las lineas de entrada/salida pasen al estado de alta impedancia. 

Finalmente, el circuito puede estar seleccionado ( CEi = 0, CE2 =1) pero no tener facilitadas 
las salidas ( OE = 7 y WE = l)y consumiendo como en los modos de lectura y escritura. 

La figura 11.6 muestra los diagramas de tiempo correspondientes a los ciclos de lectura y 
escritura^''. Los parametros que miden la duracion de un ciclo de lectura o escritura son t^c (read 
cycle time) y t^c (write cycle time) y los circuitos se caracterizan por el valor minimo de estos 
tiempos. En el circuito usado como ejemplo es tf(c "^twc = 20ns. Todo ciclo de lectura o escritura 
comienza estableciendo una direccion valida en la que leer o escribir y esta direccion debe 
permanecer estable durante todo el intervalo de tiempo necesario para que el resto de las senales de 
control operen. El parametro asociado es t^A (addres to data valid) y su valor maximo {20ns en el 
ejemplo) coincide con el valor minimo del tiempo de ciclo, Irc- 

Tras el inicio del intervalo t^c y t^A, cuando la direccion esta estable, actiian las seiiales de 
seleccion del circuito ( CEi pasa a baja, donde es activa y CE2 pasa a alta). A partir de aqui las cosas 
son diferentes en lectura y en escritura. 

En lectura, tras saber en que circuito y en que direccion de ese circuito tenemos que leer, se 
activa la facilitacion de las lineas de salida {OE pasa a baja , donde es activa) y un cierto tiempo 
despues tenemos en el bus los datos correspondientes. Este intervalo de tiempo se mide con tres 
parametros: tACE^ tDOE Y tLZOE^'*\ El primero, Iace es el intervalo temporal que transcurre desde que 
CE] pasa a baja (y CE2 a alta) hasta que aparecen en el bus de salida los datos leidos y estos son 
estables, pudiendo por consiguiente considerarse como validos. Analogamente t£)OE ^s el intervalo 
temporal desde que se facilita la salida {OE en baja) hasta que hay datos de salida validos. 
Finalmente, tizoE mide el tiempo entre la bajada de OE y el final del estado de alta impedancia en 
los buffers de tres estados donde van a aparecer los datos.. 



*** Conviene recordar ahora el criterio sobre la representacion de cronogramas que presentamos en el tema 7, 

al hablar de los ciclos de lectura y escritura en memorias EEPROM. 
***' Observese que al igual que en las EEPROM hemos mantenido la nomenclatura inglesa para los subindices 

de los parametros temporales porque es descriptiva de su significado. 



CE2 



OE 



Direccio n X ^ 

cEi r^ 



tRC 



(aa 



jf 



"^ 



Salida ^ita impedancia 
de Data 



(ace 



fboE 

tlZOE 



3K 



jr 



Jf 



V 



tntOE 



y cc 
Corriente de 



(a) 



Alimentacion 



KC^^jC dato vdlido 



tlZCE 



tHZCE 



Aha impedancia 



tpt> 



50% ^ 



Direccion . 
CEi 

CE2 



twc 



"X. 



tsCE 



tSA 



Jf 



I AW 



^E \\\\\\\\\\\\\^ 



i-PWE 




(b) 



Dato I/O 



tSD 



tHA 
////////////// 



tHD 



K dato vdlido 



:> 



Figura.11.6, Cronograims de los ciclos de lectura (a) y escritura (b) de una memoria SRAM. 

Si nos fijamos ahora en el cronograma correspondiente a un ciclo de escritura (parte (b) de la 
figura 11.6), vemos tras la obtencion de una direccion valida y el establecimiento de la orden de 
escritura {WE en baja) aparecen los datos validos (estables) y las ordenes de seleccion de circuito 
{CEi en baja y CE2 en alta). Los intervalos temporales de interes ahora son: 



^SCE - Duracion de la facilitacion, desde la bajada de CEi , hasta su subida. 

tsA = Intervalo desde que la direccion esta estable hasta que comienza la escritura. 

tAW ~ Intervalo desde que la direccion esta estable hasta que finaliza la escritura. 

tsD = Intervalo desde el establecimiento de los datos hasta el final de la escritura. 

(hd - Tiempo que se retienen los datos tras el final del proceso de escritura. Despues, las lineas 
de entrada/salida pasan al estado de alta impedancia. 

No importa mucho el circuito concreto que hemos seleccionado para comentar la organizacion 
de las memorias SRAM. Lo importante es comprenderlo, porque con ligeras modificaciones sera 
valido para otros muchos circuitos SRAM. 

11.3. EVOLUCION DE LAS SRAM 

Hablar de evolucion en las SRAM es hablar de las distintas estrategias seguidas para aumentar 
su velocidad y tamaiio siendo todavia competitivas en precio con las RAM dinamicas. Cada vez se 
piden mas prestaciones de las memorias RAM estaticas en todos sus dominios de aplicacion: como 
memoria cache, en el diseiio de subsistemas graficos y en equipos de comunicacion de alta velocidad, 
donde todavia hay diferencias entre la velocidad a la que el procesador necesita acceder a los datos y 
la velocidad intrinseca a la tecnologia y arquitectura de los circuitos SRAM que sirven a ese 
procesador. 

Para conseguir aumentar la velocidad de las SRAM se han introducido las siguientes 
modificaciones sobre las versiones asincronas basicas: 

1. Hacer que la memoria sea sincrona (quedando asi bajo el control del reloj general del sistema) 
y con posibilidad de acceso por "rafagas" a varias direcciones de memoria (generadas 
intemamente de forma automatica) a partir de un acceso inicial convencional a una determinada 
direccion de inicio de la rafaga. 

2. Actuar sobre la arquitectura de la memoria, usando lineas separadas para entrada y salida, 
aumentando el ancho de banda del bus intemo y afiadiendo seiiales extemas de control (output 
enable) que permiten tener un circuito direccionado y seleccionado antes de activar las 
entradas. 



3. Usar arquitecturas divididas en varias zonas para que el camino que es necesario recorrer para 
alcanzar una celda concreta sea, en valor medio, mas corto. 

4. Desarrollar nuevas tecnologias, en adicion o altemativa a la CMOS actual. Por ejemplo, 
BiCMOS, Arseniuro de Galio (AsGa) o bipolar ECL. Estas tecnologias son mas rapidas, 
ofrecen mayores niveles de corriente pero tambien consumen mas y son mas caras. 

5. Desarrollar memorias SRAM orientadas a aplicaciones especificas, por ejemplo para su uso 
como memoria cache de correspondencia directa con la memoria principal o con distinto grado 
de asociatividad, o para aplicaciones de video. 

El esquema de lafigura 11.7 resume estas extensiones de las memorias SRAM 



SRAM 



Asincronas 



Si'ncronas 





Arquitecturas 
divididas 



Nuevas 




Orientadas a 


tecnologias 




Aplicaciones 


(BiCMOS, 




Cache 


AsGa; ECL) 




Video 



Figura 11. 7. Evolucion de las memorias SRAM para aumentar la velocidad intrinseca y la del sistema que la 
incorpora (arquitectura). 

De todas estas innovaciones vamos a exponer con cierto detalle solo las SRAM sincronas de 
rafaga que incluyen dos mecanismos basicos: 



a) El uso de registros y el comportamiento sincrono. 



b) El acceso a las direcciones por rafagas ("burst"). El resto creemos que queda fuera del alcance 
de este texto. La figura 11.8 muestra un esquema simplificado de una SRAM sincrona de 
32Kx8. 



ADV 
K 



ADSC 
ADSP 



A0-A15 



=I>^ 



UW ^~~~\_ 



V 

Registro de 

Direcciones 



DQ0-DQ8 "*~ 
DQ9-DQ17 -*- 



■i> 



— ■ v~ 

Registro de 
Escrituia 



Logica de rdfaga 



> 



Qo 

Contador 

Binario 

CLR Qi 



_l^ 



AO-Al 
2/ 






direcciones 
intemas 
A0\ 1^ 



Al 



A2-A15 



T 

Registro de 

facilitacion 



r 



D- 



V 



Matriz de Memoria 
64Kxl8 



li 



Registro de 
Datos 



V 



V 9/ 



Buffer de 
Salida 



K. 



ADSP 






"V-^^^ 
M' 



J 



WL 



direcciones I^SSSOlOfSSSESSXil, 



xsss^^>ai 



ADV mmmmm^mmmm/^mm 



G 

Dato in 

Dato out 



"V 



y 



^ / \ / V. 



- xmwmmwmK 



/mmmw 



^wmm\ 



Lee 



Escribe 



-► 

Rdfaga 



Figura 11.8. Esquema simplificado de una hipotetica SRAM sincrona y con posibilidad de acceso a las 
direcciones en modo rafaga. 

La diferencia esencial entre una memoria sincrona y una asincrona es la que ya conocemos con 
caracter general para todos los circuitos secuenciales. En una SRAM asincrona los procesos de 



lectura/escritura ocurrian tras un cierto tiempo de asentamiento de los niveles de tension en las 
distintas senales de control. Ahora, al hacer sincrona a la SRAM todo tiene que ocurrir en los flancos 
de subida o bajada de los pulsos del reloj general del sistema en el que esta integrada esa SRAM. Por 
ejemplo, en un sistema de calculo. Es decir, la SRAM queda bajo el control del reloj general del 
procesador, disminuyendo o eliminando los intervalos temporales de espera. 

Para hacer sincrona la SRAM necesitamos introducir registros en las entradas de direcciones , 
datos y senales de control (seleccion de circuito y orden de lectura/escritura) y en los datos de salida. 
Estos registros permiten la sincronizacion de la memoria porque en los flancos positives de los pulsos 
de reloj se captan todos los valores y se almacenan en los biestables del registro, sin necesidad de que 
permanezcan retenidos mas tiempo en espera del asentamiento. En el siguiente pulso de reloj (flanco 
positivo), los contenidos de esos registros pasan a operar sobre el resto del circuito SRAM, que es 
practicamente igual al del caso asincrono. Es decir, incluye los decodificadores de direcciones, el 
nucleo de celdas RAM estaticas, los amplificadores sensores y la accion de control de las seiiales de 
seleccion de circuito (C^) y de activacion de los procesos de lectura/escritura {WE). Y lo mismo 
ocurre con la forma de operar a partir de los registros. En un ciclo de lectura se capta primero la 
direccion y se almacena en el registro durante el flanco positivo de un pulso de reloj y despues se 
decodifica;, a continuacion aparecen los contenidos en el registro de datos de salida. En el siguiente 
pulso, los datos del registro pasan a los buffers. En algunos casos las llamadas SRAM sincronas no lo 
son totalmente porque tienen un terminal {output enable) que es asincrono para proporcionar 
facilidades adicionales de control sobre las salidas. 

En algunas SRAM sincronas se aumenta la velocidad haciendo que el bus de datos opere al 
doble de la velocidad del reloj, sincronizando con ambos flancos del pulso (subidas y bajadas) y 
usando un bus intemo mas ancho que acepta la obtencion de dos palabras en cada pulso de reloj. 

El segundo mecanismo que queremos comentar es el acceso a las direcciones por rdfagas. Este 
modo de acceso lo incorporan en general tanto las SRAM como las RAM dinamicas, siempre que 
scan sincronas y es compatible con la mayoria de los procesadores. Es una forma muy rapida de 
acceder de una vez a la informacion almacenada en un conjunto pequeno de direcciones proximas. 
Para ello, se accede a la primera de estas direcciones por el procedimiento normal y despues se accede 
al resto de las direcciones de la rafaga a traves de un mecanismo intemo que las genera usando un 
contador de dos bits que, a partir de los dos bits menos significativos del registro de direcciones, AO , 
Al, genera la secuencia 00,01,10,11. Al ser generadas intemamente, el acceso a estas direcciones es 



mucho mas rapido. 

For ejemplo, en una SRAM de rafaga CY7C178, la secuencia de direcciones generadas por el 
contador a partir de cada una de las cuatro posibles direcciones iniciales es: 



Primera 


Segunda 


Tercera 


Cuarta 


Direccion 


Direccion 


Direccion 


Direccion 


Ax+l, Ax 


Ax+i, Ax 


Ax+1. Ax 


Ax+l. Ax 


00 


01 


10 


11 


01 


00 


11 


10 


10 


11 


00 


01 


11 


10 


01 


00 



de forma que todos los datos situados en esta serie de direcciones se pueden empezar a buscar desde 
la Uegada de la primera direccion. 



11.4. Celdas ram Estaticas (SRAM) en Tecnologia Bipolar 

Ya hemos dicho que las celdas RAM son biestables simplificados al maximo para aumentar la 
densidad de integracion con las facilidades adicionales para permitir la organizacion expuesta en el 
apartado anterior, es decir el direccionamiento, la lectura y la escritura. La funcion que realizaba el 
pulso de reloj en un bietable R-S sincronizado a nivel la realiza aqui la linea de seleccion de bit que 
facilita la entrada y/o salida de datos solo en la celda direccionada. Estas celdas se pueden realizar en 
tecnologias bipolar, MOS, CMOS y BiCMOS. Cuando la velocidad es el parametro dominante se 
elige bipolar o BiCMOS y cuando interesa aumentar la capacidad se elige CMOS. 

La figura 11.9. muestra el esquema de una celda bipolar realizada mediante dos transistores 
multiemisor. Sobre la estructura minima de dos inversores realimentados (biestables), se superponen 
dos nuevos emisores para conectar las lineas de bit y se utiliza el circuito de polarizacion para 
seleccionar la celda en la que se quiere leer o escribir. Para ello, los emisores Ei y E2 se apoyan sobre 
el pulso de seleccion de celda, lo que hace que su valor cambie de 0,3 V a 3 V. 

Elegimos el convenio de decir que la celda almacena un "1" cuando el transistor Qi esta 
conduciendo (Q2 al corte) y un "0" cuando Q2 esta conduciendo (Qi al corte). Por consiguiente, el 
emisor adicional de Qi (Ei') esta conectado a la linea de escritura de un "1" y el emisor adicional de 
Q2 (E2')> a la linea de escritura de un cero. Estas lineas van a otras muchas celdas pero solo operan 



sobre la celda que esta seleccionada. Finalmente, el resultado de la lectura aparece sobre un 
amplificador diferencial que conecta las lineas de lectura de "1" y lectura de "0". En su minima 
expresion, este sensor del estado se limita a dos resistencias, R3, conectadas entre las lineas de lectura 
y una tension fija de l,5.voltios. La figura 11.10 muestra el cronograma de la linea de palabra y de las 
lineas de bit con los valores correspondientes en los intervalos de lectura y escritura de "1" y "0". 



^■CDN 



+Vrr=3'5V 



:^ 



i>h®i 



\bl wl 



Linea de 
Escritura 
deun "1" 



WL o,3vJ L 



Decodificador 
de Direcciones 




Linea de 
Escritura 
deun "0" 



Escribe 


Escribe 
"0" 


Lee 

"1" 


Lee 
"0" 


Seleccionada 


!Vo 
Seleccionada 


Alamacena 
til tj 


Alamacena 
"0" 


BL=OV 
BL=3,5V 


BL=3.5V 
BL=OV 


V[R3("1 ■■)]>0 
V[R3rO")]<={) 


v[R3ri")]>o 

VfRjC'O")]^ 


WL=3V 


WL=0,3V 


Qi^ ON 
Q2^0FF 


Qi^ OFF 
Q2->0n 



Figura 11.9. Circuito basico representativo de las celdas RAM estaticas realizadas con transistores bipolares 
multiemisor. 



Escribe "1 



WL=Linea de 
palabra 

BL=Linea de 
escritura del "1 " 

BL=Linea de 
escritura del "0" 



Lee "1" Escribe "0" Lee "0" 

^5 1 I 55- 




Figura 11.10. Cronograma correspondiente a la celda RAM estatica de la figura anterior. 

Para seleccionar la celda el decodificador de direcciones manda un impulso positive de 3V por 
la linea WL que en estado de reposo tenia un valor bajo, del orden de 0,3V. En estas condiciones el 
transistor Qi continiia en conduccion (Q2 en corte) pero ahora su emisor activo es E'l (a un potencial 
de 0,5V). Por consiguiente, la informacion se conserva. 

Para leer, se selecciona la celda de la forma descrita anteriormente. Solo el emisor del transistor 
que conduce (Qi en el ejemplo) proporciona corriente a una de las lineas de datos produciendo un 
pulso a la salida del amplificador de lectura. En el caso minimo de la figura, este pulse aparece sobre 
la resistencia i?3("l") del lado correspondiente. Si hubiera estado activo Q2 (cuando la celda almacena 
un "0"), este pulso habria aparecido sobre la linea BL y sobre la resistencia i?3("0"). 

Para escribir un dato en la celda se comienza direccionandola de la misma forma que en el 
proceso de lectura, y se introduce el dato que queremos almacenar por la linea de bit correspondiente. 
Supongamos que queremos escribir la informacion complementaria a la almacenada por la celda. Para 
ello, mandamos un pulso por WL y simultaneamente bajamos la tension en la linea BL manteniendo 
en alta la de BL. Se produce asi una diferencia de tension entre ambas lineas haciendo pasar Q2 a 
conduccion y por procesos regenerativos arrastrando a Qi al corte, con lo que se ha hecho volcar al 
biestable. 

Las celdas SRAM en tecnologia bipolar tienen su campo natural de aplicacion en el diseno de 
las memorias cache de computadores de altas prestaciones en los que la velocidad es el parametro 
esencial (tiempos de ciclo inferiores a 5ns). Sin embargo presentan problemas inherentes a la 
tecnologia. En particular, la baja impedancia de los transistores bipolares en comparacion con los 
valores usuales en MOS y CMOS. Esto produce dos efectos. Por un lado, hace muy dificil la 



obtencion de celdas bipolares dinamicas (almacenamiento en un condensador aislado), obligando al 
uso de la realimentacion (circuitos R-S disparados a nivel) y por otro lado, la baja calidad de la 
funcion de conmutacion necesaria en el proceso de seleccion de una celda concreta para 
lectura/escritura y en el aislamiento de todas las demas. 

Para resolver en parte este problema de aislamiento limitado debido a la baja impedancia 
relativa se usan diodos de barrera Schottky, (SBD, Schottky barrier-diode) y lineas dobles para la 
seleccion de bit (WLj y WL2), tal como se muestra en los circuitos de la figura 11.11. Estos circuitos 
se Uaman SBD-SRAM, para indicar la inclusion de los diodos Schottky. 

El resto del circuito de estas celdas SRAM es el convencional que ya conocemos. Es decir estan 
formadas tambien por dos inversores acoplados en realimentacion en los que no solo se polarizan 
sobre pulsos los emisores como en el caso anterior {WL2=Q,'iV 6 )^2=2V), sino que tambien se usan 
pulsos para polarizar los colectores (ffXy=l,3V 6 WLi=A,'i\). Las lineas de bit {BL yfiZ) del circuito 
de la figura 11.11 estan sujetas a una fuente de continua de 1,5V, en la misma configuracion que en la 
celda anterior {figura 77.70) y su comportamiento global tambien es analogo. 

Cuando la celda no esta seleccionada, parte (b) de Xa figura 11.11, los transistores estan 
polarizados con 7Fya que WL1=1,3Y y WL2=0,3W. Este voltaje es suficiente para mantener el estado 
de la celda (un "1" en este caso), aunque reduce el consumo. A esta disminucion del consumo tambien 
contribuye la inhibicion de la componente mas pequeila de la resistencia de carga, Rl, con la ayuda 
del diodo Schottky, dejando solo la resistencia mas grande, Rs, lo que disminuye el valor de la 
corriente de colector y, por consiguiente, el consumo. Dado que las lineas de bit (BL y^Z) estan 
sujetas a 1,5V, los segundos emisores de Qi y Q2 estan al corte, con lo que efectivamente la celda esta 
aislada. 

En el modo de lectura, parte (c) de la figura 11. 11, las lineas de palabras, WLj y WL2, pasan a 
sus valores altos de potencial (WLj=4,3V y WL2=TV) y los diodos Schottky pasan a conduccion 
reduciendo la resistencia efectiva de carga (R^ en paralelo con Rs, que es mucho menor) y 
aumentando el valor de la corriente de colector disponible. Los emisores conectados a WL2 pasan al 
corte porque las lineas de bit estan en el valor bajo de tension y la corriente de emisor del transistor 
Ql, que es el que conduce en este caso, va hacia la linea de bit BL provocando un "incremento de 
tension" en la resistencia que apoya BL con 1,5V. Este cambio de tension es el que detecta el 
amplificador sensor. 



BL 



1,5V 



BL 




-— WL,=2,0V 



Figura 11.11. Celdas de RAM estatica con diodos de barrera Schottky (SBD SRAM), (a) Circuito basico. (b) 
Partes activas e inactivas durante el modo de reposo, cuando la celda esta aislada y almacenando 
im"l" (por convenio decimos que almacena un "1" cuando Qi conduce y Q2 no conduce y 
almacena un "0" cuando Qi no conduce y Q2 conduce), (c) Partes activas {trazo continuo) e 
inactivas {trazo discontinuo) en modo de lectura, cuando la celda esta seleccionada y se esta 
leyendoun"l". 



Finalmente, para escribir un cero en la celda SRAM la linea de bit {BL) se lleva a OV estando 
en alta a la vez las dos lineas de palabras {WLi=A,3>W y WL2=2Y). En estas condiciones de 
polarizacion el transistor Q2 pasa a conduccion y cambia el estado almacenado en la celda (de "1" a 



"0"), tras lo cual las lineas de palabras vuelven a su potencial de reposo. 

Aunque siguen desarrollandose celdas SRAM, en tecnologia bipolar para aumentar la 
velocidad, su importancia ha disminuido con la llegada de la tecnologia BiCMOS que combina la 
velocidad de la bipolar con la alta densidad de integracion de las tecnologias MOS y CMOS. 



11.5. Celdas RAM Estaticas (SRAM) en Tecnologia MOS 

La idea basica del diseiio de celdas MOS estaticas es la misma que en el caso bipolar. Partimos 
de un biestable MOS con dos inversores acoplados (Q1-Q3 y Q2-Q4) y le anadimos otros dos (Q5 y 
Qe) para las operaciones de seleccion, lectura y escritura. La figura 11.12 muestra el circuito 
correspondiente para esta celda de 6 transistores NMOS de realce. 



BL 



Qs N 



WL 



:'\\ 



DD 



a 



Q,L| 

N H 




T 



'DD 



seleccion de bit 



1-|N 



e 



HQ2 
1— iN 



BL 



Qo N 



Figura 11.12. Celda NMOS para RAMestatica. 

Supongamos al igual que en el caso bipolar que la celda almacena un "1 " cuando Qi estd en 
conduccion y Q2 en corte y viceversa en el caso de almacenar un "0". Cuando la celda no esta 
direccionada esta aislada del resto de la memoria porque los transistores Q5 y Qg son puertas de 
transferencia abiertas (muy alta impedancia) debido a la polarizacion que reciben a traves de la linea 



WL procedente del decodificador de direcciones. 

Para leer el contenido de la celda se activan sus puertas de transmision poniendo V^d =12Ver). 
WL, con lo que Q5 y Qe conducen y transmiten el potencial del punto A (punto de "0") a la linea de 
datos correspondiente (BL). 

Analogamente, el potencial del punto B (punto de "1"), se transmite a BL y e\ amplificador 
diferencial de lectura extrae el dato. Observese que la celda es totalmente simetrica y que solo el 
convenio inicial ("1" significa Qi en conduccion) y el etiquetado de las lineas de datos (BL es la linea 
de "1"), permiten la distincion. Cuando la celda contenia un "1", al final de la operacion de lectura 
aparecen 12V en BL y OVen BL . Cuando tenia un "0", aparece OVen BL y 12V en BL . 

Para escribir en la celda se comienza direccionandola mediante un pulso positivo en WL, como 
en el caso anterior. Esto abre de nuevo las puertas de transmision Q5 y Qe y permite conmutar el 
biestable. Para escribir un "1" se mantiene BL en 12V y se baja la tension de BL a OF. Esto hace 
conducir a Qi a traves de Qg (si es que estaba cortado), quedando el drenador de Qi (punto A de la 
figura 11.12) a OV. Como esta es la tension del terminal de puerta de Q2, este pasa al corte. Cuando 
WL vuelve a OF, el "1" logico queda almacenado en la celda dado que los transistores Q5 y Qg pasan 
de nuevo al estado de corte presentando alta impedancia y dejando a la celda aislada. 

La celda anterior necesita 6 transistores. Una version con solo cuatro transistores es la que se 
muestra en Xa figura 11.13. Esta celda SRAM de carga resistiva procede de la simplificacion de las 
celdas NMOS donde se han sustituido el par de inversores NMOS con carga activa y acoplados, por 
un par de inversores NMOS con carga resistiva. Asi, al cambiar los transistores NMOS por 
resistencias Ri, el tamano de la celda se reduce. 

El parametro critico en el disefio de estas celdas es el valor de la resistencia que debe de ser 
"suficientemente alto" para conseguir un buen margen de ruido y un bajo consumo y "suficientemente 
bajo" para no deteriorar el valor de los retardos de propagacion en las transiciones de baja a alta. Este 
segundo punto se soluciona parcialmente precargando las lineas de bit a Vdd de forma que las 
transiciones baja a alta en las lineas de bit solo ocurren durante la precarga y no durante la operacion 
de lectura. Asi, la cargas resistivas Ri nunca tienen que suministrar corriente durante una transicion. 
Los detalles tecnologicos que hacen especialmente utiles a estas celdas en memorias SRAM quedan 
fuera del alcance de este texto. 




0—1 



seleccion de bit 



Figura 11.13. Celda SRAM de cuatro transistores con carga resistiva {Rj} 

Hasta ahora, los esfuerzos realizados en el diseno de las memorias RAM estaticas estaba 
encaminado a aumentar la densidad de integracion del niicleo de celdas biestables donde se 
almacenan los datos. Sin embargo, para direccionar, leer y escribir esos datos nos hace falta un 
conjunto de circuitos perifericos adicionales tales como decodifwadores, amplificadores sensores y 
circuitos de temporizacion y control de los que depende en gran medida la velocidad y eficacia global 
de un circuito de memoria. Todos estos circuitos han sido estudiados en los capitulos 5, 6, 7 y 10, 
salvo los amplificadores sensores que vamos a comentar aqui. 

La importancia de los amplificadores sensores se debe a lo reducido del salto de tension medido 
en la operacion de lectura, a la necesidad de ofrecer niveles de corriente superiores a los del interior 
de la celda para acelerar las transiciones en las Hneas de bit y al problema del ruido que se superpone 
a los niveles de senal. Afortunadamente, las celdas SRAM admiten amplificadores diferenciales como 
sensores porque tienen salida diferencial (BLyBL) con lo que el factor de rechazo al modo comiin 
es alto y solo se amplifican las diferencias entre las dos seilales de entrada. Ademas, un mismo 
amplificador diferencial puede compartirse entre varias colunmas insertando los transistores de paso 
del decodificador de columnas entre las celdas de memoria y el diferencial. 



Lafigura 11.14 muestra el circuito de un posible sensor diferencial para celdas SRAM. Las 
lineas de bit se conectan a las entradas x y a; del amplificador diferencial que usa como cargas activas 
otros dos transistores PMOS (Q5 y Qe) acoplados en realimentacion positiva. Hay otras muchas 
configuraciones diferenciales usando transistores PMOS y NMOS que son tambien validas. 




Figura 11.14. Uso de amplificadores diferenciales como sensores en celdas SRAM. 



11.6. Celdas ram Dinamicas (DRAM) en Tecnologia MOS 

Cuando se desea alta capacidad y bajo consumo con velocidades algo mas moderadas que las 
de RAM estatica, se elige como solucion las memorias RAM dinamicas. Independientemente de las 
variaciones que se introducen a nivel de organizacion y de direccionamiento, aqui nos interesa hablar 
solo de la celda basica. La idea esencial es reducir al minimo el area de integracion y el consumo de 
una celda de memoria RAM pasando de 6 a 4 transistores, despues a 3 y finalmente a solo un 
transistor. La tecnologia MOS es especialmente adecuada para realizar esta minimizacion por su alta 
impedancia y su capacidad para inyectar, confinar, mantener temporalmente y extraer paquetes de 
carga en estructuras capacitivas superficiales. En realidad basta con poder controlar y detectar la 
presencia de un paquete minimo de carga en un condensador para interpretar que ahi se almacena un 
cero o un uno. Sin embargo, a pesar de las barreras activas que se pueden generar en una estructura 
MOS siempre hay perdidas de carga de forma que al cabo de un cierto tiempo el paquete de carga 
desaparece y se borra la informacion almacenada. Para resolver este problema se introducen circuitos 
de "re/re^co" que reconstruyen la informacion de forma periodica, antes de que se pierda. El disefio 
LSI actual ofrece soluciones monoliticas al problema del refresco, como veremos mas adelante. 

Ahora nos interesa seguir el camino historico mostrando distintas soluciones a las celdas RAM 
dinamicas. La figura U.lS.a muestra una celda MOS para RAM dinamica con cuatro transistores. 

Si se compara el circuito de la figura 11.15 con el correspondiente para RAM estatica se 
observa que se ban eliminado dos transistores y ahora el estado de la celda se almacena en las 
capacidades de puerta (C/ y C2) de los transistores Qi y Q2. Para evitar una perdida excesiva de carga 
en estas capacidades se introduce un mecanismo de refresco que periodicamente lee el estado y lo 
vuelve a escribir, recuperandose asi toda la carga perdida. 

La celda de cuafro transistores se obtuvo a partir de la de 6 al darse cuenta los diseiiadores, 
primero, que las resistencias de carga podian sustituir a dos transistores y, despues, que la linica 
funcion de estas resistencias de carga era "rellenar" la celda con la carga perdida a traves de las 
corrientes de fugas. Por eso podian eliminarse esas resistencias y, "simplemente", reponer de cuando 
en cuando la carga perdida mediante la reescritura periodica del contenido de la celda. Asi, en 
general, la reduccion en complejidad y area de semiconductor conseguida compensaba la complejidad 
y area adicionales necesarias ahora para implementar los mecanismos de refresco. 



A las otras celdas 
que tienen la misma 
direccion Y 



A las otras celdas 
que tienen la misma 
direccion Y 



A las otras celdas 
que tienen la 
misma direccion X 



Entrada 

de datos ^^ 




Salida 
^1^5 de datos 



Figura 11.15. Celdas RAM dinamicas. (DRAM) de 4 transistores. 

Un paso posterior fue pasar de cuatro a tres transistores. Esta simplificacion nace al observar 
que, de hecho, la celda de cuatro transistores es redundante porque almacena a la vez el valor del dato 
y su complementario, como en todos los biestables. Al eliminar un transistor, se elimina esta 
redundancia y se reduce el area de integracion. Se obtiene asi un circuito como el que se muestra en la 
figura 11.16, en el que se ban separado los caminos de lectura y escritura y se usa un mecanismo de 
precarga. La informacion sigue almacenandose a traves del valor de la carga almacenada en el 
condensador Q y del transistor de carga Q5 que esta en conduccion o en corte dependiendo del valor 
de carga en C2, ya que la tension en C2 es su tension entre fuente y puerta. 

La linea de bit (Do^t) esta precargada a V^d 6 a Vdd-^T, dependiendo del estado del transistor 
de precarga Q2. 



RS(<^2) 



(a) 



Di, 



\(b)_ 



A 



out 



Precarga (Oj) 



Qi 



DD 



Cclda de Memoria 



Q3_ 







Di, 



WS(02)- 

WS(02) _ 
RS(02) - 



Y?^ 



Q4 



C2 



Dn 



^^ 



^DD - ^T 



VoDf 



\ 



Vdd-Vt 



Figura 11.16. Celda DRAM con tres transistores MOS. (a) circuito. (b) Formas de onda durante los ciclos de 
lectura y escritura. 

El transistor de carga, Q5, esta en serie con Q4 y este se apoya en Dqi^ de forma que 
dependiendo del valor de la carga en C2 (dato almacenado), y por consiguiente, del estado de Q5, la 
combinacion serie de Q5 y Q4 hace bajar el potencial de Do^^l o lo deja como esta, dando lugar a un 
proceso de lectura. Esta celda opera en ciclos de dos fases. Durante la primera mitad de cada ciclo de 
lectura o escritura se realiza una precarga de las lineas D,„ y Dqui a traves de Qi y Q2. Al ser la linea 
Din altamente capacitiva la transferencia de un "1" a Ci no reduce el nivel de precarga de forma 
significativa. Para escribir un "0" se descarga el condensador en la linea. El ciclo de lectura se realiza 



pasando Q4 a conduccion al final de la precarga. Observese que esta celda es inversora, es decir el 
valor que se sensa en la Hnea Dout es el inverse del almacenado en C2. El mecanismo de refresco 
usado para recuperar la carga perdida por corrientes de fugas consiste en leer el dato almacenado, 
poner su inverso en la linea de entrada de datos (Din) Y escribirlo de nuevo, activando la linea de 
escritura WS{02). 

Otra reduccion en el tamano de las celdas RAM dinamicas se consigue usando un circuito con 
un solo transistor, como el que se muestra en \a figura 11.17. Su principio de funcionamiento es 
conceptualmente sencillo. Basta un transistor que facilite la entrada y salida de carga en un 
condensador. Durante un ciclo de escritura, el valor del dato se coloca en la Hnea de datos {BL) y se 
eleva el potencial de la linea de palabra {WL). Dependiendo del valor del dato, la capacidad de la 
celda se carga o se descarga. Antes de realizar una operacion de lectura, la linea de bit se precarga a 
una tension de referenda, VpRg. Al activar la linea de palabra {WL), se redistribuye la carga entre la 
linea de bit y la capacidad de almacenamiento. Esto produce un cambio de tension en la linea de bit y, 
dependiendo del sentido del cambio, se almacena un cero 6 un uno. El valor de ese incremento (0 
decremento) de tension es: 

^y = ^BL- VPRE = [yRIT - Vpre)^ '- ^O" Q « Cgi 

donde Cbl es la capacidad de la linea de bit, Vbl el potencial de la linea de bit tras la redistribucion 
de la carga y Vgijes el potencial inicial en la capacidad de almacenamiento, Q. 

Dado que la capacidad de almacenamiento, Cy, es mucho menor que Cbu el cambio de tension, 
AV, es muy pequefio (»250mV) por lo que necesita ser adecuadamente amplificado por los sensores. 
Ademas, la lectura de estas celdas de un solo transistor es destructiva. Es decir, tras una operacion de 
lectura, hay que restaurar el estado de la carga previamente almacenada en Ci. 

Aqui nos interesa quedamos con los aspectos cualitativos basicos del comportamiento de esta 
celda que vamos a repetir. El transistor Qj esta conectado a dos capacidades, Cy (almacenamiento) y 
Cbi (direccionamiento). La lectura y la escritura se realizan pasando a conduccion a Qi, mediante BL. 
El dato queda almacenado como un nivel de carga en Q. Para leer, tenemos que encontrar un 
procedimiento de medir esa carga almacenada en C; y para ello redistribuimos esa carga haciendo que 
la compartan Cy y Cbl (Rue es mucho mayor). Ahora las dos capacidades actiian como un partidor de 



tension y el incremento o decremento de potencial (AV) que ha producido esa redistribucion de la 
carga es la medida del estado de la celda. Despues lo amplificamos y restauramos el estado de carga 
inicial previo al proceso de lectura. 



BL 



WL 



Lima 
de bit 



Linea de 
Palabra 



BL 



WL 



^ 



(a) 



(c) 



WL 



BL 



C-r 



-/Escribe "l\- 



(b) 



J 



Qi 

= c, 

(Almacenaj 



Cb 

(Direcciona) 



Lee 



A 



'DD- 



'DD 



"DD 



/2 



Sensa 



'Vdd/2 



Figura 11.17. Celda DRAM con un solo transistor, (a) Solucion minima que provoca lectura destructiva. 
(b) Altemativa valida. (c) Formas de onda durante los procesos de lectura y escritura en el 
circuito de (b). 

Mejorar la relacion de transferencia de carga [CiI{Cj+Cbl)], resolver la necesidad de 
mecanismos de refrescos y restauracion del estado leido y aumentar la densidad de integracion son 
objetivos tecnologicos cuya descripcion queda fuera del alcance de este tema*'l 

En estas celdas de RAM dinamicas la salida es linica por lo que no pueden usarse directamente 
amplificadores sensores diferenciales como los usados en las celdas RAM estaticas. Podemos sin 
embargo, convertir una salida linica en una salida diferencial usando una tension de referenda {Vref) 
como la otra entrada diferencial ya que de hecho lo que nos interesa es convertir un pequeno pulso de 



(•) 



Ver por ejemplo el texto de J.M. Rabaey (Digital Integrated Circuits) incluido en las referencias especificas 
de este tema. 



tension en uno de los dos niveles logicos posible ("0" 6 "1"). Por eso, todo lo que quede por encima 
de la referenda se interpreta como un "1" y todo lo que quede por debajo, como un "0". Es decir, el 
amplificador diferencial de alta ganancia opera como un comparador diferencial, tal como se muestra 
en la figura 11.18. Dependiendo del valor de BL el amplificador diferencial conmuta rapidamente 
hacia "1" 6 hacia "0". Hay sin embargo problemas a la hora de decidir cual es el valor apropiado para 
una tension de referencia que debe de adaptarse a las variaciones que experimentan los niveles de 
tension de una a otra celda. En las celdas de un transistor esto se resuelve situando al amplificador 
diferencial en la parte central del circuito y usando celdas adicionales con el linico proposito de servir 
como referencia. 

WL 



BL 



Celda 
DRAM 




Figura 11.18. Conversion de la salida linica de una celda RAM dinamica en una salida diferencial usando una 
tension de referencia de valor intermedio al de los niveles logicos "0" y "1". 

11.7. Organizacion de las Memorias ram Dinamicas (DRAM) 



Ya hemos visto que la ventaja principal de las RAM dinamicas frente a las estaticas esta en la 
sencillez de sus celdas basicas que pueden construirse usando un solo transistor de acceso y 
almacenando la informacion a traves del estado de carga de una capacidad. Esto hace que la densidad 
de integracion sea muy alta y se alcance un equilibrio entre densidad, velocidad y coste que las hace 
idoneas para su uso como memoria principal de los computadores. 

Sin embargo, no todo son ventajas. Al almacenar la carga en un condensador, el proceso de 
lectura es destructivo por lo que hay que rescribir de nuevo, antes de acabar el ciclo de lectura para 
restaurar el paquete de carga que habia almacenado en esa celda antes de leerla. Por otro lado, existen 



procesos de fuga que hacen que se degrade el contenido de las celdas aunque no hayan sido leidas, 
por lo que es necesario anadir mecanismos de "refresco" que restauren la carga almacenada cada 
cierto tiempo. Desafortunadamente, no podemos confiar en la presencia de una operacion de lectura 
durante ese intervalo, lo que haria innecesario el refresco ya que, tras leer, siempre se rescribe lo 
leido. 

En resumen, las DRAM ofrecen mayor capacidad para una misma area de silicio pero son mas 
lentas que las SRAM porque, como consecuencia del tipo de celda basica que usan, tenemos que 
aumentar la complejidad de los circuitos adicionales necesarios para su organizacion. En particular la 
restauracion tras la lectura destructiva y el refresco, para compensar las fugas. 

Otras modificaciones en la organizacion de las DRAM proceden del multiplexado de las 
direcciones, introducido para dividir por dos el numero de terminales necesarios para la direccion. De 
nuevo, esto disminuye el tamano del circuito pero incrementa el valor del tiempo de acceso 
haciendola mas lenta. 

Hemos estructurado la presentacion de este apartado en los siguientes puntos: 

1. Descripcion simplificada de la organizacion de una DRAM basica de 4Mxl . 

2. Mejoras en la velocidad de las DRAM (mas lineas I/O, nuevos modos de acceso, nuevas 
arquitecturas, ...)• 

La figura 11.19 ilustra este panorama. Algunas de las mejoras son muy analogas a las descritas 
previamente para las SRAM. Por ejemplo, la distincion entre comportamiento asincrono y sincrono 
(con registros de bajo control del reloj central) o el significado del modo rafaga, por lo que no 
volveremos a insistir aqui. Haremos sin embargo mencion a los otros mecanismos, aunque de una 
manera muy general y cualitativa dada la extension y complejidad del tema. 

La figura 11.20 muestra una version simplificada del diagrama de bloques de una memoria 
DRAM de 4 Mxlbit, en la que se observa un niicleo comiin con las SRAMs vistas anteriormente y 
algunos circuitos adicionales necesarios para realizar las nuevas funciones de multiplexado de la 
direccion y refresco. Es comiin la mafriz cenfral de 1024x4096 celdas, los amplificadores sensores y 
los circuitos decodificadores de filas y columnas. Es nuevo el multiplexado de los bits de direccion. 



los dos reloj es CAS (Column Addres Sfrobe) y HAS (Row Address Sfrobe), el cronograma de la 
senal de control de lectura/escritura ( WE ) y el mecanismo de refresco. 



DRAM 



Asincronas 



I/O 

amplio 



Modo pagina 




Nuevos 

Modos de 

Acceso 



Pagina 

Rapida con 

EDO 



Sincronas 




Rafagas 




Bancos 
multiples 



EDO-DRAM 



Pagina 
Rapida con 

EDO 
FPM-EDO 



Otras 
"pipeline" 



Rafagas con 
EDO 



Figura 11.19. Panorama de los distintos tipos de memorias DRAM. La primera distincion es entre 
comportamiento asincrono o sincrono. Despues, en ambos casos se busca una mayor velocidad, 
ampliando el bus y modificando los modos de direccionamiento.. 



Comentaremos estas componentes nuevas. El reloj RAS controla la seleccion de filas en la 
DRAM. La fila seleccionada esta determinada por los datos presentes en las lineas de direcciones 



cuando la senal RAS esta activa (en baja). El reloj CAS controla la seleccion de columnas en la 
DRAM. La columna seleccionada esta determinada por los datos presentes en las lineas de 



direcciones cuando la serial CAS esta activa (en baja). Los relojes RAS y CAS actiian de forma 



altemativa. Primero actiia RAS almacenando la direccion de la fila en el buffer de filas, despues 



actiia CAS almacenando la direccion de columna y asi sucesivamente. El control WE controla el 
ciclo de lectura/escritura. 



WE 
CAS 



Ao 
Ai 



All 



RAS 




Reloj 

2 



Buffers de 

direcciones 

de colunmas 

Q2} 



Control de 
refresco 



Contador de 

refresco 

(10) 



10 



Buffers de 

direcciones 

defilas 

(10) 



Reloj 
1 



Buffers de 
entrada 



Buffers de 
salida 



12. 



/^ 



Decodiflcador 
de Columnas 



4096^ 



/ 



10.^ 



Amplificadores 
Sensores 



/ 




1024/. 



Matriz de 
1024x4096 



DI 



^DO 



Figura 11.20. Diagrama de bloques de una memoria DRAM de 4Mxl 

Veamos ahora la evolucion temporal del proceso sobre el cronograma de la. figura 11.21. Los 
bits de direccion se multiplexan al comienzo de cada ciclo de lectura y se dirigen a buffers separados 



para filas y columnas donde son decodificados y facilitados secuencialmente por los reloj es RAS y 
CAS . Hay tambien un contador que va seleccionando en cada intervalo de tiempo cuales son las 
direcciones de las celdas cuyo contenido hay que restaurar. Los amplificadores sensores realizan las 
dos operaciones de leer y restaurar los datos en las celdas leidas antes de finalizar cada ciclo de 
lectura. Para ello, los datos leidos en toda una fila se retienen hasta que se realiza esa escritura. 



Como la memoria es de 4Mxl, hacen falta 22 bits para direccionar los 4M. Si seguimos la 
evolucion del tiempo desde que se presentan los primeros 10 bits de fila en los terminales, vemos que 
hay que retenerlos un tiempo {tRAu) hasta que se estabilizan. Despues se fijan en el buffer a la caida 
de RAS quien, a su vez, activa a los amplificadores sensores. Las direcciones deben mantenerse un 



tiempo (tRAH), hasta que se estabilice RAS . 




Vol— 



Figura 11.21. Cronograma de un ciclo de lectura en memorias DRAM 

La fila seleccionada (Word Line), de un conjunto de 1024 filas, se lleva a alta y los datos en las 
4096 celdas que estan sobre filas se Uevan a las lineas de bit (columnas) y se registran en los 4096 
amplificadores sensores. 

Los 12 bits de direccionamiento de columnas se estabilizan, tras un cierto tiempo t^so Y se 



cargan sobre el buffer de direccionamiento de columnas a la caida de CAS , que tambien activa el 
buffer de salida y necesita un cierto tiempo, tcAH, P^ra estabilizarse. Ahora el decodificador de 
direcciones de columnas selecciona un bit de 4096 y lo situa en el buffer de salida. Los buffers de las 



direcciones de columnas se activan tambien con el flanco de bajada de RAS , de forma que actiian 



como buffer de paso siempre que CAS permanezca en alta. Esto permite que la recuperacion de datos 



se inicie tan pronto como la direccion de columnas sea valida, sin esperar la caida de CAS . 

Si recorremos ahora de izquierda a derecha el cronograma del ciclo de lectura vemos el 
conjunto de retardos que limitan la velocidad maxima de una memoria DRAM (equivalente al inverso 
de los valores minimos de estos retardos), que incluyen el tiempo de asentamiento de las direcciones 
de filas (tASR), los tiempos de transicion (tr), el tiempo de retencion de las direcciones de filas (tRAn), 
el retardo entre filas y columnas (Ircd), el tiempo de asentamiento de las direcciones de columnas 
QascX el tiempo de asentamiento de comando de lectura (tRcs) y el tiempo de retencion de las 
direcciones de columnas (tcAH)- Finalmente hay que aiiadir los tiempos necesarios para la precarga de 
las lineas CAS (tcRp) y RAS (?«p), necesarios antes de iniciar un nuevo ciclo. 



La operacion de escritura, cuyo cronograma se muestra en la figura 11.22, es similar a la de 



lectura. 



(rc 



^RP 



RAS 



CAS 



ADDR 



h 



tcRP 



USR 



^RAS 



'SCH 



tRCD 



'RAD 



Jar_. 

-—>!■♦- 



/ 



(rsh 



tCAS 



o / 



i 



'RAL 



'_RAH_, 



hsc , 



filas 



columnas 



iWCR_ 



tWCS^^, 



WE 



Di, 



J-DHS.. 



tos 



tcWL' 



i-RWL 



iiWE. 



'DH^ 



Data vdlido 



X 



Do 



VOH- 



Abierto (alt a impedancia) 



Vol — 



Figura 11.22. Cronograma de un ciclo de escritura en memorias DRAM 



Las senales RAS y CAS fijan las direcciones de fila y columnas donde hay que escribir, el 
control WE pasa a baja y se le deja que estabilice su valor (retardo t}vcs ) y, finalmente, los datos 
validos se presentan en las lineas de salida, donde se estabilizan tras un tiempo t^s , antes de la bajada 
de CAS . Los datos se mantienen en las lineas de entrada durante un tiempo mientras que se captan 
por los amplificadores sensores seleccionados por el decodificador de columnas y pasan despues a las 
posiciones correspondientes de la DRAM, durante la fase de restauracion. 

Del analisis de los cronogramas de las figuras 11.21 y 11.22 se desprenden las causas que 
limitan la velocidad de las DRAM y las posibles soluciones. Hay retardos que son intrinsecos al 
concepto DRAM y son dificiles de mejorar. Otros, tienen que ver con la arquitectura, el caracter 
asincrono o sincrono del proceso con el ancho de banda de los canales de entrada y salida, etc. y son 
mas asequibles. 

11.7.1. Ampliacion del Numero de Lineas de Entrada/Salida 

Una primera forma de aumentar la velocidad de una DRAM es conseguir acceder a un mayor 
numero de bits de datos en cada ciclo de lectura o escritura. Esto conlleva dividir la arquitectura 
interna por zonas o segmentos a los que se accede simultaneamente cargando en paralelo distintos 
grupos de amplificadores sensores. Por ejemplo, una DRAM de lMxl6 se divide en 16 matrices de 
1024x1024 bits cada una y, por consiguiente, con 1024 amplificadores sensores asociados a sus 1024 
columnas. Asi, durante un ciclo de lectura estan activos los 16 grupos de amplificadores sensores y 
tras la bajada del reloj RAS , cada uno de estos bancos de sensores posee los datos procedentes de las 
filas de 1024 bits direccionadas en sus respectivas matrices. Cuando el decodificador de columnas 
selecciona la columna direccionada, los bits procedentes de esta columna en cada una de las 16 
matrices se desplazan por caminos intemos paralelos entre los amplificadores sensores y los 
terminales de entrada/salida, ahorrando asi el tiempo necesario en un acceso paralelo. Ahora tenemos 
16 bits en el mismo tiempo que antes necesitabamos para obtener Ibit. 

11.7.2. Modificaciones en los Modos de Acceso 

En el modo de acceso aleatorio que hemos visto, tras la activacion del reloj de filas ( RAS ), 
habia un gran numero de bits que tenian que esperar en los amplificadores sensores a que su columna 
correspondiente fuera seleccionada. En cambio, para aquellas aplicaciones que admiten una 



segmentacion del conjunto de direcciones de memoria, puede usarse un direccionamiento mas rapido, 
llamado en modo pdgina en el que la linea de facilitacion de la direccion de una fila ( RAS ) se 



mantiene activa (en baja) mientras se leen todas las columnas de esa pagina. Es decir, RAS , baja solo 



una vez por pagina y CAS , va bajando y subiendo para cada una de las colunmas de esa pagina. 

Este modo de acceso se mejora si los buffers de direcciones de columnas se activan con la 



bajada de RAS y permanecen abiertos cuando CAS esta en alta, dispuestos a captar las direcciones 



de las distintas columnas de la pagina en cada una de las bajadas de CAS . Esto significa que las 
direcciones son activas tan pronto como la direccion de una columna es valida, sin tener que esperar a 
las transiciones de bajada de CAS . 



Este "'modo pdgina rdpido" se vuelve a mejorar con la facilidad adicional EDO (Extended 
Data Out). Esta extension de la salida de datos se consigue cambiando la ruta de salida de los datos de 



forma que el flanco de subida del reloj CAS ya no tenga que inhibir a las buffers de salida. Ahora los 



datos anteriores permanecen validos cuando CAS pasa a alta y se puede acceder a la siguiente 
direccion de columna antes de que el procesador acepte los datos validos actuales. Es decir, 
eliminamos el retardo toFF de CAS . 

Dado que la mayoria de los procesadores aceptan el acceso por rafaga, tal como lo vimos para 
las RAM estaticas, tambien se ha desarrollado este modo de acceso para las EDO DRAMs (modo 
rafaga). 

Recordemos que en el acceso por rafagas, hay un grupo de datos a los que se accede sin 
necesidad de un nuevo direccionamiento extemo puesto que sus direcciones son generadas 
intemamente con un contador, a partir de los liltimos bits de la primera direccion de la rafaga. Asi, 
solo necesitamos controlar con CAS y RAS una linica fila y columna, el resto de las direcciones de 
las columnas incluidas en la rafaga se generan intemamente. 

11.7.3. DRAMs Sincronas con Bancos Multiples 

A pesar de todas las mejoras comentadas anteriormente para las DRAMs asincronas, todavia 
hay una diferencia significativa entre la velocidad a la que los procesadores necesitan los datos que 
solicitan a las DRAMs y la velocidad a la que estas DRAMs se los pueden suministrar. Esta 
disparidad ha motivado el que se busque nuevas arquitecturas de interfaz sincrona para las DRAMs. 



El proceso es analogo al que vimos en SRAM. Se trata de dotar de registros a las entradas de 



direcciones, datos y senales CAS y RAS y dejar el control en manos del reloj principal del 
procesador. Se eliminan asi los "estados de espera" del procesador, mientras la DRAM realiza sus 
procesos intrinsecos de lectura/escritura. Ahora, ese tiempo de espera puede ser usado por el 
procesador para realizar otras tareas. Tras un niimero preestablecido de ciclos de reloj los datos 
estaran disponibles en la salida de la DRAM. 

Siguiendo aqui tambien una estrategia analoga a la seguida por las SRAM, las DRAM 
sincronas usan tambien una arquitectura dividida, con multiples zonas intemas independientes que 
permiten aumentar su velocidad al hacer posible la lectura o escritura en una zona mientras que, de 
forma concurrente, en otras zonas se esta procediendo a un proceso de precarga o de refresco. 

1 1.8. CiRCUITOS DE Memoria Asociativa (CAM) 

Hemos visto los circuitos de memoria SRAM y DRAM en los que todas las celdas eran 
direccionables con un tiempo de acceso linico. Ademas, quedaba clara la distincion entre direccion y 
contenido. Primero se seleccionaba una direccion y despues de leia o escribia un dato en esa 
direccion. 

Ahora vamos a estudiar otro tipo de memorias llamadas asociativas o direccionables por 
contenido, CAM (Content Addresable Memory), en las que se usa el dato (el contenido) para 
seleccionar el conjunto de direcciones que contienen ese dato de forma completa o parcial. 

Estos circuitos de memoria se usan en todas aquellas aplicaciones en las que el esfuerzo 
computacional mas importante en todas las instrucciones que hacen referenda a memoria es un 
proceso de biisqueda de conjuntos de datos que coinciden con un patron. Por ejemplo, en el diseiio de 
memorias cache asociativas, en procesos de biisqueda rapida de datos, listas o configuraciones en 
maquinas orientadas a grandes bases de datos, en reconocimiento de caracteres, en redes de 
computadores o en redes de comunicaciones, en arquitecturas avanzadas de calculo paralelo y en 
computacion orientada hacia la Inteligencia Artificial aplicada. Los circuitos CAM proporcionan las 
ventajas de eficacia y rapidez propias del diseno paralelo a nivel electronico (hardware) en 
comparacion con las soluciones programadas de algoritmos de biisqueda en arboles, por ejemplo. Al 
comparar a nivel fisico y de forma simultanea la informacion deseada con la relacion completa de 



todas las entidades previamente almacenadas, el tiempo de biisqueda se reduce en un orden de 
magnitud. 

Memos estructurado el contenido de esta seccion en tres subapartados: 

1. Aspectos basicos de la organizacion de un circuito CAM. 

2. Celda CAM basica en CMOS. 

3. Ejemplos. 

11.8.1. Aspectos Basicos de la Organizacion de un Circuito CAM 

La estructura basica de un circuito de memoria CAM es la que se ilustra en lafigura 11.23. Hay 
un niicleo central de almacenamiento compuesto per celdas SRAM como las que hemos visto 
previamente en las que a cada celda se le han anadido un cierto numero de transistores para llevar a 
cabo la comparacion entre su contenido y el del bit correspondiente de un registro adicional que 
contiene el patron de comparacion. Este patron se obtiene a su vez de filtrar la palabra externa que 
queremos saber donde esta almacenada, llamada comparando, con una mascara que selecciona cual es 
el subcampo de esa palabra (clave de biisqueda) en el que estamos realmente interesados, por ejemplo, 
para extraer como informacion el resto de los subcampos. 

Asi pues, en el proceso de comparacion intervienen los contenidos de tres registros: 
comparando, mascara y patron o clave de biisqueda. Esta palabra patron o clave de biisqueda se 
distribuye para ser comparada en paralelo con cada una de las n palabras de la CAM. Para realizar 
esta comparacion cada celda de la CAM posee un registro con el dato propio, otro para recibir el bit 
correspondiente del patron y un circuito combinacional que detecta la coincidencia o no coincidencia 
entre ambos bits. Es decir, un circuito NOR exclusivo cuya salida solo estara en alta cuando ambas 
entradas coinciden \AB + ABj. 

Cuando se han realizado todas las comparaciones el resultado se Ueva a un registro que indica 
las comparaciones que han sido validas (registro indicador o de marca) y existen tres posibilidades: 
que no hayamos encontrado ninguna coincidencia, que hayamos encontrado solo una o que existan 
varias. Si no existe ninguna, no hay direcciones validas para ese patron. Si hay solo una, se activa su 
bit correspondiente y si hay varias se usa un codificador con prioridad, ofreciendose por ejemplo la 
direccion cuyo decimal equivalente sea el menor. Como este registro indicador de direcciones validas 
debe de contener el resultado de las comparaciones de la palabra patron con todas las de la CAM, 



necesita n bits, tantos como direcciones. Hay finalmente un registro de salidas que saca las palabras 
seleccionadas. 



Celda 1 



m 




'' ^ 










1^ 


( 'iintcniJo 






f > 








Comparando 




00 

s 

1 

u 

S 
o 
u 

H 
00 

O 
§ 


y 

I CODIFICADOR de PRIORIDAD J 






• 


CilCi 







1 


1 






> 




COMPARADOR 
bit a bit 




♦ 


V 






, . 








Mascara 


^ 


Patron 




1 


1 












V > 




♦ 




• 


[Ci) 




Patron 




/ 


Celda n 







v 


1 


X 




X 


> 




*; 


Ciintcnidi) 


CnlCn 










V 1 


\ 


1 




\^l 


COMPARAnOR 
bit a bit 




^Hl 






^ 


, 


\ 




■ ^ 


Ptiirun 






1 






1 






^ 1 ^ 












El 
CAi 


ectronica / 
RGA, RESL 


^dicional p< 
Ty CONTj 


^ 

ira 

J 







Figura 11.23. Esquema basico de un circuito de memoria CAM 



Evidentemente, el circuito necesita electronica adicional para controlar el proceso de 
comparacion, estableciendo las condiciones iniciales en el registro indicador, cargando el 
comparando, radiando el patron, etc. Por ejemplo, si se parte de un estado inicial en el que todos los 
bits del registro indicador estan en alta, despues de realizar la comparacion, pueden quedar en alta los 



bits correspondientes a las palabras cuyos contenidos han coincidido con el patron y pasar a baja los 
bits correspondientes a las que no han coincidido. 

La figura 11.24 muestra el esquema elemental de comparacion, primero para un bit y despues 
con el AND cableado para los n bits de cada palabra. Este es el circuito que usa la CAM CMOS 
Am99C10A cuyo diagrama de bloques se muestra en Xa. figura 1 1.25 y el significado funcional de sus 
terminales en la 11.26. 



bit k de la 
palabra n de la 
CAM 



~1. 



bit k del bus del 
Comparando 



bit k del bus 
de la Mascara 



de los otros bits 
(AND cableado) 




Qi 



-^ML-n 

(Linea de 
coincidencia) 



Bit k 

en 
CAM 


Bit k 

en 

Comparando 


Salida 
XNOR 


Bit k 

en 

Mascara 


Salida 
NOR 






1 

1 



1 


1 


1 



1 




1 

1 





1 




match 
match 

match 



Figura 11.24. Comparador de un bit de la CAM Am99C 1 OA 

Este circuito de memoria CAM tiene una capacidad de 256 palabras de 48 bits, y es 
programable por el usuario. Cada una de las 256 celdas CAM incluye un registro, un comparador que 
genera un bit de coincidencia {match flag) y otros 8 bits con la direccion de la palabra que coincida 



con el patron. Hay pues 256 lineas de coincidencia {MLO, .... ML255). El comparador de bit es un 
circuito coincidencia (XNOR), tal como comentamos anteriormente. Tras esta comparacion se pasa 
por una puerta NOR con el bit correspondiente de la mascara y el resultado de la comparacion de bit 
se Ueva a un transistor (Qi) que realiza el AND cableado (drenador abierto) de los 48 bits de la 
palabra (figura 11.24). 

Cuando el bit de la CAM AM99C10A coincide con el del comparando, la salida de XNOR esta 
en alta. Despues se ve si interesa o no esa comparacion calculando el NOR con el bit de la mascara. 
La salida de la puerta NOR (que realiza la funcion A-B) esta en baja cuando hay coincidencia y esto 
ocurre en tres circunstancias: Cuando los bits coinciden, independientemente del estado de la mascara 
(00,1 1) y cuando no coinciden pero la mascara nos dice que ese bit no es relevante en la comparacion 
(0,1). La serial ML permanece en alta para esa palabra si los 48 transistores Qi dicen que sus NOR 
correspondientes estan en baja. 

Si nos fijamos ahora en el diagrama de bloques de la. figura 11.25 vemos como se Integra esta 
operacion de comparacion bit a bit ilustrada en \a figura 11.24 con el funcionamiento global de la 
CAM. Cuando se detecta una coincidencia el codificador de prioridad identifica la direccion o 
direcciones correspondientes a estas coincidencias (Hneas ML en alta). Si hay al menos una ML en 



alta el codificador activa la linea MTCH y transmite al registro "status" los 8 bits de la direccion mas 
baja en la que se ha detectado una coincidencia. Las otras coincidencias pueden recuperarse a partir 
de dos bits adicionales que poseen todas las palabras de la CAM. 

Esta CAM es programable existiendo un conjunto de codigos de operacion para inicializarla, 
cargar los registros de comparando y mascara, desplazar los contenidos de estos registros a cada, una 
de las posiciones de memoria (carga de la CAM), leer el contenido de la CAM mediante la 
transferencia de los contenidos de sus 256 direcciones al registro de comparandos, etc... 

El procedimiento normal de uso es cargarla con los contenidos deseados, cargar el registro 
mascara y pasar al modo de comparacion, leyendose en el registro "status" el valor del bit de 
coincidencia (match fiag) y la direccion donde esta el dato coincidente. Las coincidencias multiples se 
leen de forma sucesiva empezando por la de direccion mas baja. 

Mas adelante, tras el estudio de la celda basica, volveremos con otros ejemplos de circuitos 
CAM comerciales representativos del estado actual de la tecnologia electronica en este campo. 




Registro 
Comando 



palabra 
de la CAM 



RIXl. 48 bit 



S 



Compara 
con 

Mascara 



w u 



Logica 



palabra 255 
de la CAM 



RliG. 48 bii 






S 


1 


1 


F 






7 ^' 


Compara 
con 

Masc^""'' 


- 


Logica ■ 



















Decodificador 

de 

Prioridad 

256 Lineas 

8 Bits 



Registro 
"Status" 



Bus Entrada/Salida 16 bits 



MTCH 



FULL 



FiguralL25. Diagrama de bloque funcionales de la memoria CAM Ain99C10A, usado para ilustrar la 
arquitectura basica de este tipo de circuitos (S=Skip bit, E=Empty bit). 



D/C 


Seleccion de modo (Datos o Comandos) 


W 


Facilitacion de la escritura en los registros intemos y en 
las celdas de la CAM 


G 


Facilitacion de la lectura en los registros de salida 


"e 


Seleccion de circuito 


D15-0 


Bus de datos. Es un bus de 16 bits, bidireccional y de tres 
estados 




Indica que todas las celdas han sido cargadas 


FULL 




Indicador de coincidencia en una o mas palabras 


MTCH 



Figura 11.26. Significado fimcional de los terminales de la memoria CAM Ain99C10A. 



11.8.2. Celda CAM basica en CMOS 

Ya conocemos los circuitos correspondientes a celdas RAM estaticas en MOS. Las celdas en 
CMOS son analogas (dos inversores acoplados) solo que en este caso los inversores son CMOS en 
vez de ser NMOS 6 PMOS. En la parte (a) de Xa. figura 1L27 se muestra el circuito correspondiente a 
una celda SRAM de 6 transistores, cuatro para la sintesis de los dos inversores acoplados y dos para 
leer y escribir. En la parte (b) de Xa. figura 11.27 se muestra la celda CAM correspondiente en la que 
se han anadido cuatro transistores mas para realizar las funciones de comparacion del estado de alta o 
baja del bit almacenado en los otros seis con el bit correspondiente del registro que almacena al 
comparando o al patron, tras pasar el comparando por la mascara. Es decir, para realizar la funcion 
NOR exclusive. 

Para leer y escribir en esta celda en modo RAM ya conocemos el mecanismo. Para comparar, la 
linea de "match" se precarga a alta y las lineas de bit se llevan al nivel correspondiente al bit 
almacenado en el registro comparando. Como la linea de palabra no esta activada, el estado del 
biestable formado por los seis transistores SRAM no queda afectado. En cambio, los transistores que 
sintetizan el NOR exclusivo realizan la comparacion del estado almacenado con los niveles de bit del 
comparando. El estado almacenado esta representado en las tensiones de puerta de los pares Q1-Q3 y 



Q2-Q4- Como estos terminales de puerta estan unidos a las puertas de Qy y Qg, respectivamente, los 
circuitos de comparacion (pares Q7-Q9 y Qg-Qio) "conocen" el estado almacenado en la parte RAM 
de la celda CAM. Por otra parte las puertas de los transistores Q9 y Qio estan activadas por los niveles 
de tension correspondientes al bit del comparando. Si estos dos niveles no son el mismo, la linea de 
"match" (drenadores de Q9 y Qio) pasa a baja, indicando que no se ha encontrado coincidencia. 
Todos los comparadores de bit de una misma palabra se conectan a la misma linea de ''match", de 
forma que basta con que falle una comparacion para que esa linea pase a baja. Solo cuando todos los 
bits de una palabra han producido comparaciones positivas, la linea de "match" de esa palabra pasa a 
alta. Es decir, al igual que vimos en lafigura 11.24, se esta realizando el AND cableado del resultado 
de la comparacion de los bits individuales. 



WL 



BL 



th 



r^ 



Q4 



EXI 






(a) 



BL 



06 N 



MATCH 



WL 



BL 



(b) 



|JQ9 

Q7P 



QioL 



(Js N 



It- 



Vdd 



"p^' '^p^ 



XiXXIP^ 






Qs 



T 



9 



BL 



_26 N 



Figura 11.27. (a) Celda RAM estatica. (b) Celda CAM obtenida a partir de la RAM afiadiendole cuatro 
transistores para realizar la funcion NOR exclusivo entre su contenido y el bit correspondiente 
del comparando. 



11.8.3. Ejemplos de circuitos CAM 

Como siempre, despues de conocer los aspectos basicos de la organizacion de un tipo de 
circuito y la conexion con el nivel de su sintesis con transistores, creemos conveniente tomar contacto 



con el estado actual de la tecnologia electronica describiendo algun circuito real representativo del 
campo. En este caso hemos seleccionado la familia LANCAM B de Music Semiconductors, que 
produce circuitos CAM en tecnologia CMOS organizados en base a palabras de 64 bits (asi opera en 
el bus intemo), con un ancho de banda de 16 bits para entrada y salida, velocidad de comparacion de 
50ns y otras caracteristicas tales como la posibilidad de segmentar el contenido en partes RAM y 
partes CAM y la inclusion de registros con capacidad de desplazamiento de mascaras y comparandos, 
permitiendo asi la implementacion hardware de algoritmos de biisqueda asociativa de prioridad. La 
capacidad de estos circuitos CAM puede ser de IK, 4K 6 8K, siendo ademas ampliable esta 
profundidad mediante la conexion en cascada. 

Desde el punto de vista operacional estos circuitos LANCAM siguen el procedimiento descrito 
en el apartado 11.8.1. Los datos cargados en el registro comparando se comparan automaticamente 
con los contenidos de todas las direcciones CAM validas. El circuito indica si una o mas de estas 
direcciones validas contienen datos coincidentes con los que buscamos. Cada posicion CAM puede 
estar en uno de los cuatro estados siguientes: {vdlida, vacia, omitida y RAM). Estas cuatro 
condiciones estan codificadas en los dos liltimos bits (28 y 29) del registro de estado. Con la carga de 
los registros de control, comparando y mascara se inicia el proceso de comparacion ofreciendo los 
resultados de la biisqueda tras 50ns y despues el registro status informa sobre esos resultados, 
incluyendo todos los flags y las direcciones en las que se ha tenido exito al comparar. El circuito 
incluye dos registros de mascara y cuatro seiiales de control que entran al decodificador de 
instrucciones para facilitar la gestion de la CAM de forma flexible y con una carga minima sobre la 
programacion externa. Lafigura 11.28 muestra una version simplificada del diagrama de bloques. 

Los terminales DQ15-0 son las lineas del bus extemo que transportan datos, comandos y 
descripciones del estado de la CAM (status) entre el interior y el exterior del circuito. Las senales W 

y CM controlan el sentido del trafico de senales y la naturaleza de esas sefiales. Cuando E esta en 
alta las lineas DQ15-0 pasan a alta impedancia. 



Al control entran cuatro seiiales, E , W , CM y RESET y una quinta, EC , va a la logica de 
coincidencia. La primera seiial {E), es la entrada de facilitacion del circuito. Su flanco de bajada 
registra las otras senales de control {W , CM y EC). La seiial W {write enable) selecciona entre 
lectura y escritura y CM nos dice si las seiiales en las entradas DQ15-0 deben interpretarse como 
comandos ( CM en baja) o como datos ( CM en alta), dando lugar a cuatro tipos de ciclos: 



w 


CM 


Tipo de ciclo 


L 


L 


Escritura de comandos 


L 


H 


Escritura de datos 


H 


L 


Lectura de comandos 


H 


H 


Lectura de datos 



Finalmente, la senal EC facilita que el bit de marca MF muestre el resultado de una 
comparacion. Si EC esta en baja, en el flanco de bajada de E en un determinado ciclo, se facilita la 
salida MF . Esta senal de salida pasa a baja cuando han ocurrido una o mas coincidencias en el 
proceso de comparacion. 



Hay un conjunto de seiiales como MI {match input), MA {device match flag), MM {device 
multiple match flag), FF {full flag) y FI {full input) que sirven para conectar en cascada vertical 
varios circuitos CAM y para aiiadir codificadores extemos de prioridad, distinguiendo en cada caso la 
situacion en cada uno de los circuitos de la cascada de la situacion global de toda la CAM. Veamos su 
descripcion funcional. 

La entrada MI prioriza los dispositivos en un sistema CAM que conecta varios en cascada. 
Para realizar esta funcion, el terminal MI del primer circuito de la cascada se conecta a la 
alimentacion (alta). En el resto, se conectan a las salidas MF de los circuitos previos. 

La salida MA esta en baja cuando se ha encontrado coincidencias en el actual ciclo de la 
comparacion o en el anterior. Esta salida no puede ser modificada por EC 6 MI y por consiguiente 
refleja el valor del indicador de coincidencias de ese circuito, a partir de su registro status. 



La salida MM esta en baja cuando se han producido dos o mas coincidencias validas en el 
ciclo actual o en el anterior. 

La salida FF pasa a baja cuando no se han encontrada direcciones vacias en ese dispositivo. El 
flag que indica que todo el sistema CAM esta lleno es el FF del ultimo circuito de la cadena. De 
forma analoga, la entrada FI {full input) genera un indicador de que el sistema esta lleno cuando los 
circuitos CAM individuales se han conectado en cascada. Esta entrada FI se conecta a la salida FF 
del dispositivo previo. 



oo 



DQ (15-0) 



< ^ Date (16) 



•T3 



3 



Dato 



K> 



MUX 



DEMUX 



< ^ Dato (64) 



Dato (64) 



< 



(16) 



Comandos & Status 




V 



Contadores de 

Segmentos Fuente 

y Destine 



Conjunto de Registros Infernos 



Instruccion 



direccion 



Siguiente Dir. Libre 



Control 



Control de Segmentos 



Direcci6n de pdgina 



Selecci6n de Dispositive 



Status (15-0) 



Status (31-16) 



4- 



V 



Comparando 



Mascara ; 



Mascara 2 



Matriz CAM 
2N palabras x 64 bits 



^ Match Addr. & MA flag 



N+1 



^ 



MM FL 



> 



.MA 
MM 



Logica de 
Comparaci6n 

e 
Indicadores 



-*~FF 
— FI 
-^MF 
— MI 



Figura 11.28. Version simplificada del diagrama de bloques de los circuitos de memoria asociativa de la 
familia LANCAM B de Music Semiconductors. 



No es aconsejable profundizar mas en la descripcion operacional de este circuito CAM porque, 
al igual que comentamos en el tema 7 al hablar de memorias EEPROM tipo flash, la evolucion de la 
tecnologia electronica nos lleva a circuitos supuestamente componentes de un sistema de calculo 
digital que, a su vez, incluyen procesadores intemos con un repertorio propio de instrucciones para su 
programacion con el proposito final de ser parcialmente autonomos. Se libera asi al procesador central 
de una parte relevante del esfuerzo de calculo que antes tenia que dedicarse a la gestion software de 



estas memorias CAM pero, en contrapartida, la complejidad del circuito CAM resultante (con su 
propio repertorio de instrucciones) supera las fronteras de una descripcion razonable a nivel 
electronico. Es decir, en terminos de senales, registros y cronogramas. 

11.9. Problemas 

Los ejercicios de este capitulo se encaminan a reforzar la comprension de estos conceptos: 
celdas, organizacion del direccionamiento y comparacion de contenidos. 

E.11.1. En lafigura se representa una celda bdsica de memoria formada por un biestable R-S en 
tecnologia NMOS. Generar su tabla de verdad. 





c 


?f^DD 




Qs 


«-l 1 


! V* 


Q, 


Qo . 


' T — ^ ' 


°Q 

24 



E.11,2. El circuito de lafigura 11.9 muestra el esquema de una celda RAM estdtica con transistores 
bipolares multiemisor. Analiza la evolucion temporal de la serial en el punto (1) (colector 
del transistor Qj) a partir del estado inicial en el que la celda almacena un "0 " durante la 
siguiente secuencia de procesos: 

a) La celda almacena un "0" y no estd direccionada. 

b) La celda se direcciona y se escribe un "1 " 

c) Sigue direccionada y se lee su estado. 

d) Se escribe un "0 " de nuevo. 

Describir cualitativamente la evolucion de las senales BL, BL y en la linea de seleccion de 
direccion correspondiente a esta secuencia. 

E.11.3. El circuito de la figura 11.12 muestra el esquema de una posible celda RAM estdtica en 
tecnologia MOS. Dibujar el cronograma en el que se muestre la evolucion de las senales en 



BL, WL y BL durante los procesos de lectura y escritura (a, b, cy d) que alii se describen. 

E.11.4. Recordando que una celda RAM estdtica es esencialmente un hiestable (dos inversores 
acoplados) junto con las facilidades de direccionamiento y de lectura y escritura (par 
ejemplo, a traves de un transistor que actua como puerta de transmision), proponer y 
justificar el funcionamiento de una posible celda RAM estdtica en tecnologia CMOS. 

E.11.5. Supongamos que disponemos de una memoria RAM minima consistente en solo dos 
biestables R-S con "preset" y "clear". Disenar todos los circuitos externos para: 

a) Seleccionar en lectura y escritura. 

b) Direccionar uno u otro biestable, 6 ninguno de los dos. 

c) Leer en el R-S seleccionado. 

d) Escribir (0,1) en el R-S seleccionado. Es decir, sintetizar sobre esta memoria minima y 
usando puertas AND, OR y NOT, todas las funciones de control que son necesarias para 
una memoria RAM estdtica. 

E.11.6. Supongamos que disponemos del circuito de la figura que es una memoria RAM estdtica 
organizada como 4096 "palabras" de un solo bit organizada en forma de matriz de 64filas 
por 64 columnas. 




a) Disenar el circuito selector de filas que pas e de (AO, ..., A5) a las filas correspondientes. 
Tenemos asi tambien el circuito selector de columnas. 

^) ^Qu^ contador binario deberiamos usar para conseguir recorrer todas las direcciones 
posibles de forma secuencial? . iComo deberiamos conectarlo?. 

c) ^Como podriamos usar este mismo contador para controlar las seHales Din, Dout, 

CS y WE, de forma que, empezando en la direccion (00... 0), vaya leyendo hasta la 

posicion 2000, escriba "unos " desde la 2001 a la 3000 y escriba "ceros " desde la 3001 a 



la 4.096? 

E.11.7. Supongamos que disponemos de cuatro circuitos como los del ejercicio anterior de 4096 
"palabras " de un bit. 

a) iComo podriamos disenar un circuito que a traves del CS de las cuatro memorias las 
organizara en 4096 palabras de 4 bits? 

b) ^Como podriamos asegurarnos despues de la escritura de una determinada configuracion 
(1100, por ejemplo) que efectivamente ese es el contenido de la celda?. (Pensar en la 
posibilidad de almacenar lo que se escribe, leer lo ultimo escrito y comparar). Disenar el 
circuito que realiza esta comprobacion y genera un pulso solo cuando hay error, es decir, 
cuando el estado de la celda direccionada no coincide con la palabra que queriamos 
escribir. 

c) ^ Como podriamos visualizar las palabras que se van a escribir y las que se van leyendo?. 

E.11.8. Disponemos de nuevo de cuatro circuitos de memoria del tipo 2147 (4096 palabras de un 
bit) ^como podriamos conectarlos para: 

a) Conseguir una memoria de 16384 palabras de 1 bit. 

b) Conseguir una memoria de 8192 palabras de 2 bits. 

Dibujar en ambos casos las conexiones correspondientes y los circuitos externos necesarios 
para coordinar los niveles en las lineas de control y de datos de las cuatro memorias. 
E.11.9. La figura 11.23 muestra el esquema conceptual de una memoria CAM incluyendo el 
"comparando", la "mascara", el "patron" y el proceso paralelo de comparacion con todos 
los contenidos. Finalmente, incluye el codificador con prioridad para ver si hay alguna 
coincidencia y para ordenarla en el caso de haber varias. Ya sabemos que existen 
soluciones integradas para todas estas funciones pero el objetivo de este ejercicio es tratar 
de disenar una CAM minima para reforzar la comprension de los procesos de logica 
combinacional y secuencial que intervienen. 

Supongamos entonces que disponemos de una memoria CAM consistente en solo dos 
palabras de dos bits, almacenadas en cuatro biestables, R-S. Disenar los circuitos 
necesarios para: 

a) Pasar el comparando por la mascara y generar el patron. 



b) Realizar la comparacion simultdnea del patron con las dos palabras de memoria. 

c) Generar cuatro salidas (Oj, O2, O3 O4) dependiendo del resultado de la comparacion: 

Oj: Si no coincide con ninguna de las dos. 
O2: Si coincide con el contenido de una celda. 
O3: Si coincide con el contenido de la otra celda. 
O4: Si coincide con el contenido de ambas celdas. 
Proponer tambien todo el circuito de temporizacion apartir de un reloj principal 

E.11.10. En el diseno del ejercicio anterior solo aborddbamos los problemas distintivos de una 
memoria CAM, sin preocuparnos de la escritura de datos ni de la lectura, en el sentido 
convencional de las memorias RAM. En cambio, en el ejercicio E.11.5 ya teniamos 
"resuelto " el problema del direccionamiento, lectura y escritura en biestables R-S. 

Realizar ahora una sintesis de ambos ejercicios dotando al circuito solucion del ejercicio 
anterior de la capacidad de lectura y escritura en el sentido RAM. Es decir, 

a) Disenar los circuitos necesarios para seleccionar una u otra de las dos unicas direcciones 
de memoria. 

b) Disenar los circuitos necesarios para leer el contenido de las direcciones de las celdas 
seleccionadas, es decir, las correspondientes a las salidas O2 y O3 del ejercicio anterior. 



Preparacion de la Evaluadon 



Memos descompuesto el tema en tres objetivos: 



Objetivos 






1: SRAM 
2: DRAM 
3: CAM 



1. SRAM 



1.1. En el tema 7 estudiamos las memorias de lectura/escritura no voldtiles y con posibilidad de 
acceso aleatorio (EEPROM). Ahora hemos estudiado las memorias de lectura/escritura, 
voldtiles y con posibilidad de acceso aleatorio (SRAM y DRAM). ^Podria explicar sus 
analogias y diferencias especificando los conceptos clave en esta clasificacion? : 

^ Modos de lectura y escritura 

■^ Volatilidad de los datos almacenados 

^ Modo de direccionamiento 

1.2. Suponga el caso mas elemental posible de memoria SRAM con solo dos palabras de un bit 
cada una y suponga tambien que dispone de biestables J-K con preset y clear como los 
estudiados en el tema 8. Anddale ahora todos los circuitos adicionales para seleccion, 
direccionamiento, lectura y escritura en esta mini-RAM estdtica. Si tiene dificultades. revise el 
ejercicio E.11.5 del texto de problemas. 

1.3. Incremente ahora un poco la complejidad de la memoria disenando los circuitos 
correspondientes para una memoria SRAM de dos palabras de 2 bits. 

1.4. iPodrd ahora razonar sobre la generalizacion de los ejercicios anteriores (1.2 y 1.3) al caso 
de una memoria SRAM de 512filas x 256 columnas x 8bits andloga a la de lafigura 11.4? 

a) ^Cudl es la capacidad de esta memoria? 



b) I Cudntos bits son necesarios para direccionar susfilas?. 

c) ^ Ypara direccionar sus columnas?. 

d) <;■ Que significa el 8 final (AxBx8) ?. 

e) ^Comopueden hacerse bidireccionales las 8 lineas de entrada/salida de datos? 

f) ^Cudl es el conjunto minimo de senales de control neces arias para gestionar los ciclos de 
lectura/escritura? . 

g) ^Que significa que esta memoria SRAM sea asincrona?. 

h) ^Cudl es la forma cualitativa del cronograma de un ciclo de lectura?. 

i) ^ Y la de un ciclo de lectura?. 

j) I Como se puede extender esta memoria a mas bits? 

k) ^ Como se puede extender a mas palabras del mismo numero de bits? 

Estas cuestiones pretenden ser representativas de los conceptos que deben conocerse sobre la 
organizacion de una memoria SRAM y permiten un cierto grado de autoevaluacion por subobjetivos. 

1.5. Recordard que la diferencia entre la velocidad de los procesadores y la de las memorias ha 
sido el motor de la evolucion en la tecnologia, las interfaces y la arquitectura interna de las 
SRAM. ^Podria ahora seleccionar un conjunto de criterios y clasificar, de acuerdo con esos 
criterios, las distintas innovaciones introducidas en las memorias SRAM?. 

1.6. Como sabe. todas las celdas SRAM son bies tables R-S a los que se han anadido las facilidades 
de direccionamiento y lectura/escritura. Describa el funcionamiento de la celda bipolar del 
ejercicio E.l 1.2 para la siguiente secuencia de sucesos: 

^ La celda almacena un "1 " y esta direccionada. 

■^ La celda deja de estar direccionada. 

^ La celda se vuelve a direccionar y se escribe un "0". 

^ La celda sigue direccionada y se lee para comprobar que efectivamente ahora su estado es 
"0". 

1.7. ^Podria explicar el efecto que tiene la inclusion de dos diodos de barrera Schottky entre las 
lineas de seleccion de palabra y los colectores de los transistores multiemisor en la celda 
SRAM del ejercicio anterior?. iQue ventajas tiene la celda SBD SRAM resultante? . 



2. DRAM 

2.1. En el texto de problemas analizamos con detalle el comportamiento de la celda SRAM de 6 
transistores en tecnologia MOS (ejercicio E.11.3). ^Que tendriamos que anadirle para 
convertirla en dindmica?. 

2.2. ^Podria explicar la evolucion de las celdas DRAM desde la de cuatro transistores hasta la de 
un solo transistor?. ^Para que se usa realmente el transistor en este ultimo caso?. ^Donde se 
almacena la informacion? . iPor que es necesario un amplificador-sensor de relativamente aha 
ganancia?. 

2.3. ^Cudles son las ventajas de los amplificadores sensores en configuracion diferencial? . ^Por 
que no pueden usarse siempre?. 

lA. Dibuje el diagrama de bloques de una hipotetica DRAM y distinga claramente cuales son las 
partes de esa organizacion que se comparte con las SRAM y cuales son las funciones 
adicionales propias de las DRAM. 

2.5. Como recordard, la lectura en los DRAM es destructiva par lo que hay que almacenar 
transitoriamente el valor leido para volverlo a escribir en la misma celda antes definalizar un 
ciclo de lectura. 

Aunque ya sabemos que en los biestables J-K de las celdas estdticas la lectura no es 
destructiva, le sugerimos que use el circuit o del ejercicio 1.2 (de una memoria con solo dos 
"palabras " de un bit) para disenar los circuitos complementarios necesarios para volver a 
escribir del valor leido. Si encuentra dificultades puede revisar el ejercicio E.11.7 donde se 
plantea un problema andlogo (comprobar, despues de un ciclo de escritura, que hemos escrito 
realmente lo que queriamos escribir). 

2.6. Los relojes RAS y CAS son la componente mas relevante del control de los ciclos de lectura y 
escritura en memorias DRAM. ^Podria explicar su significado funcional y dibujar despues el 
cronograma de un ciclo de lectura?. Use como referenda, por ejemplo la figura 11.20, 
correspondiente a una DRAM de 4Mxl. 

2.7. Hay una logica intrinseca a todos los cronogramas que describe la secuencia de sucesos que 
deben ocurrir en las distintas senales de control (RAS , CAS , WE) y en las lineas de datos y 



direcciones. Expliquela y trate de completar el cronograma siguiente, correspondiente a un 
ciclo de lectura 



RAS 



CAS 



ADDR 



WE 



A 



yoH- 




out 



Abierto (aha impedancia) 



Vol— 



2.8. La lucha permanente en la electronica de las memorias DRAM se centra en: (1) conseguir 
mantener su ventaja frente a las SRAM en cuanto a densidad de integracion y, por 
consiguiente, su mayor capacidad para una misma area de silicio y (2) reducir a la vez las 
desventajas centradas esencialmente en la menor velocidad de acceso. Detrds de ambas 
memorias, SRAMy DRAM, siempre estdn los procesadores que son mas rdpidos. 

Describa la evolucion de las DRAM usando criterios de interfaz, direccionamiento, 
arquitectura y tecnologia e intentando llegar desde las propuestas iniciales hasta las 
soluciones actuales (sincronas, hiperpdgina, EDO, etc.). Reflexione sobre su nivel de 
comprension de estas mejoras e intente dibujar un grafo de clasificacion de las mismas. 

3. CAM 

3.1. Si mezclamos adecuadamente las soluciones de los ejercicios E.11.5 y E.11.9 no le sera dificil 
responder al siguiente problema: 

Disenar un circuito de memoria CAM para dos palabras de dos bits usando una entrada D 
para direccionar, un control WE y un circuito detector de coincidencias (XNOR), con un 
registro de comparando de 2 bits (Cj y Cq) y otro de mascara (Mj, Mq), tambien de 2 bits. 



3.2. Toda celda CAM puede obtenerse a partir de una RAM anadiendole los transistores necesarios 
para las funciones adicionales de comparacion del contenido de la celda con el patron de 
comparacion. En el apartado correspondiente del tema (11.8.2) hemos vis to un ejemplo de 
extension de una celda SRAM de 6 transistores a otra CAM con 10 transistores. 

^Podria explicar el funcionamiento de este circuito en el caso en el que tiene almacenado un 
"0 " y el bit del comparando es "1 "?. 

El punto en el que hay que hacer enfasis es en la comparacion. La primera parte, consiste en 
poner el bit a comparar en las lineas de bit, pero sin activar la linea depalabra. 



^^^^^ 



Referencias Bibliograficas 

1. Advanced Micro Devices: "CMOS Memory Products". Data Book/Handbook. 1 99 1 . 

2. Betty Prince, "High Performance Memories", J. Wiley, 1999. 

3. Cypress Semiconductor "High Performance Data Book". 1995. 

4. MUSIC Semiconductors, www.music-ic.com 

5. Rabaey, J.M: "Digital Integrated Circuits. A Design Perspective". Prentice Hall Inc. 1996, 

6. Weste, N.H.E., Eshraghian, K.: "Principles of CMOS VLSI Design". Addison-Wesley, 1994. 



i 




Memorias de Acceso Secuencial 



■^ CONTEXTO 

Bajo el nombre general de circuito de memoria hemos estudiado primero las EPROM y 
EEPROM en el tema 7, despues las SRAM, las DRAM y las CAM en el tema 11 y ahora vamos a 
estudiar las memorias FIFO. A lo largo del texto hemos usado esencialmente dos criterios de 
dasificacion: El cardcter voldtil o permanente de la informacion almacenaday la forma de acceder a 
una direccion concreta en la que queremos leer o escribir una palabra de n bits. Si nos fijamos solo 
en el modo de acceso a las distintas direcciones, vemos que hay esencialmente tres modos distintos: 
(1) el acceso aleatorio, en el que nos cuesta lo mismo acceder a cualquier direccion, (2) el acceso por 
contenido y (3) el acceso secuencial que vamos a estudiar en este tema. 

La caracteristica distintiva de las organizaciones de acceso secuencial es que se sustituye toda 
la electronica del direccionamiento directo por una organizacion propia de registros de 
desplazamiento ayudada en algunos casos por punteros que senalan donde estd la primera direccion 



no ocupada (puntero de escritura) y donde estd la ultima direccion ocupada (puntero de lectura). 

El soporte fisico de estas memorias de acceso secuencial estd en las celdas SRAM en CMOS 
que ya hemos estudiado y en los dispositivos acoplados por carga CCD ( Charge Coupled Devices), 
que estudiaremos en este tema, con el que terminamos el estudio de los distintos tipos de circuitos de 
memoria. 

■¥■¥ CONOCIMIENTO PREVIO NECESARIO 

Todo lo que necesitamos para estudiar este tema ya lo conocemos de temas anteriores, salvo 
los circuitos CCD y las etapas dindmicas en CMOS a las que dedicaremos sendos apartados en el 
tema. Las celdas RAM de las FIFO son las mismas que hemos visto en el tema 11. 

-^-^-^ Ob jETivos DEL Tema 

Objetivo 1: Conocer las distintas organizaciones de acceso secuencial (FIFO, LIFO y regis tros 
CCD). 

Objetivo 2: Conocer las bases fisicas de las etapas dindmicas en MOS, CMOSy CCD. 

Objetivo 3: Comprender las funcionalidades de las memorias FIFO actuales basadas en grandes 
bloques de memoria RAMy actuando bdsicamente como buffers de alta velocidad. 

Objetivo 4: Conocer algunos ejemplos de FIFOs asincronas y sincronas y mostrar algunos de sus 
aplicaciones. 

■¥'¥'¥'¥ GuiA DE Estudio 

En este tema seguimos la estrategia usual de comentar primero los aspectos bdsicos de 
organizacion, despues estudiar las estructuras electronicas soporte y, finalmente, ilustrar con 
circuitos reales el estado actual de la tecnologia electronica en el campo de las memorias FIFO. 

Creemos que el tema no debe presentar especiales dificultades a estas alturas del texto, en las 
que ya estamos acostumbrados a analizar cronogramas y describir estructuras internas y 
significados funcionales de un conjunto de terminales. Quizd las secciones sobre CCD y etapas 



dindmicas en MOS puedan presentar algo mas de complejidad. Por eso se ha desarrollado un 
conjunto de ejercicios complementarios sobre estos apartados en el texto de problemas. 



Contenido del Tema 



12.1. Organizaciones de Acceso Secuencial 

Veremos primero las organizaciones de memorias de acceso secuencial basadas en registros de 
desplazamiento. En \afigura 12.1 se muestra la organizacion FIFO (First-In, First-Out) en la que una 
memoria de K palabras de n bits se construye a partir de n registros de desplazamiento (uno por bit) de 
longitud K (niimero de palabras). 




Figura 12.1. Organizacion FIFO de memorias de acceso secuencial. El primer dato que entra es tambien el 
primero que aparece accesible a la salida. 



Es una organizacion serie-serie porque los datos se leen en serie y se escriben en serie y es 
FIFO porque a cada pulso de reloj se desplazan una posicion los contenidos de todos los registros de 
desplazamiento, de forma que la palabra que entro primero, es la que tambien sale primero. Si no hay 
entrada de nuevos datos y el lazo esta cerrado, la informacion recircula. Esta constante lectura y 
reescritura de datos reconstruye la carga perdida en las celdas y permite mantener la informacion de 
forma analoga a como ocurria con los mecanismos de refresco para las memorias RAM dinamicas. El 
control de lectura/escritura selecciona el modo de operacion. Cuando se escribe se hace en 
{RDq, RDj, ..., RDn-i). Cuando se lee, se toman los datos de {Qq, Qi, ..., Qn-l)- P^r^ cada bit de la 
palabra, entre RDi y g,- existe un registro de desplazamiento formado por iiT biestables D. 

Una organizacion diferente es la que se muestra en X&figura 12.2. Para la misma capacidad y 
longitud de palabra (« registros de K bits), los datos se introducen y se toman del mismo punto, de 
forma que los sucesivos impulsos del reloj "empujan" hacia arriba las palabras o las "dejan caer", 
dependiendo del valor del bit que marca el sentido del desplazamiento de los registros que ahora ban 
de ser bidireccionales. Supongamos que estando facilitada la escritura, el bit de sentido de 
desplazamiento esta en alta indicando, por ejemplo, desplazamientos "hacia arriba". Cada pulso de 
reloj entra una nueva palabra que empuja a las que habian entrado antes aumentando la altura de la 
"pila". Si cambiamos ahora de lectura a escritura hay que cambiar tambien el sentido del 
desplazamiento y aparecen en el primer registro las palabras en orden inverso al que fueron escritas. 
Esta organizacion se llama LIFO (Last-In, First-Out) ya que la ultima palabra que entro en la memoria 
es la primera que sale cuando el control pasa de escritura a lectura. Tambien se le suele llamar 
memorias depila ("stack") porque las palabras se "amontonan" en forma de pila. 

Cuando queremos aumentar la capacidad de las memorias de acceso secuencial buscamos 
celdas basicas dinamicas y sencillas para que ocupen poca superficie en el semiconductor y metodos 
de direccionamiento que scan tambien sencillos. En cuanto a las celdas basicas las opciones 
dominantes son las celdas RAM que ya hemes visto en el tema anterior y las estructuras CCD que 
veremos mas adelante en este tema. Ahora bien, al aumentar mucho la longitud de los registros de 
desplazamiento el tiempo de acceso a la informacion crece de forma tal que las 
organizaciones serie-serie (tipo LIFO 6 FIFO) no son adecuadas. Siempre hay que mo verse en una 
situacion de compromise entre capacidad y tiempo de acceso. 



Sentido de 
Desplazamiento 



Reloj 



RDo 



k-1 



Do'' \Qo Di 



Entrada , 
de Datos 



RDi 



k-1 



V 



Qi 



RD„-i 



k-1 



Dn-1 



I *liel&. 



Qn-1 



(B^P^^^ 



'alida de 
Datos 



CONTROL R/W 



Figura.12.2. Organizacion LIFO de memorias de acceso secuencial. El primer dato que sale es el ultimo que 
entro. 



La figura 12.3 muestra otras organizaciones propias de las memorias CCD. En ]2.3.a se 
mantiene la organizacion serie incluyendo etapas regeneradoras de senal en todas las "esquinas". En 
esta organizacion todos los bits realizan el mismo recorrido a traves del lazo y a la misma frecuencia. 
El niimero de bits entre dos amplificadores-regeneradores sucesivos esta determinado o bien por la 
eficiencia en el proceso de transmision (inversamente proporcional a las perdidas de carga) o bien por 
el valor mas bajo en la frecuencia de trabajo deseada en condiciones de mantenimiento. 
Evidentemente, como esta organizacion es serie, el niimero de bits maximo (longitud del ciclo de 
recirculacion) determina el valor medio del tiempo de acceso. 

La figura 12.3.b introduce una pequena modificacion en la organizacion anterior que mejora el 
tiempo de acceso al coste de aumentar la electronica de direccionamiento. Lo que se ha hecho es 
segmentar en tramos y direccionar cada uno de estos tramos de forma directa, como haciamos en las 



memorias RAM. 



Entrada/Salida 
de Datos 



1 



,,— Registro de 
/' Desplazamiento 



(a) 



(c) 





T 






R 






R 


W-4~4- 






4-fM 


R 




R 


,g|j, ,.,i 1.,., 


"■■I""'! ""I 








R 








R 


4#H-+" 




4 



'"-._ Regeneradores/' 
de Serial 



Entrada 
de Datos 



(b) 



M 



Direccion 
A]-A„ 



R, 



R, 








1 


^n 




* 


1 t p 



i 



D 
E 
C 
O 
D 
I 
F 
I 

C 
A 
D 
O 
R 



1 1 








1 1 


■Mp. 


II ^ 








► 


R 




'■'*' 









. Salida 
de Datos 



Entrada/Salida 
de Datos 



Figural2.3. Organizacion de memorias CCD. (a) Organizacion serie, con etapas intermedias de 
regeneracion. (b) Organizacion por lazos multiples con direccionamiento directo para cada lazo. 
(c) Organizacion S-P-S (serie-paralelo-serie). 



A cada segmento se le llama lazo. Dentro del lazo hay dos registros CCD y dos amplificadores 
regeneradores y cada lazo es considerado como una celda de memoria RAM direccionable a traves de 



un multiplexo que decodifica los bits de direccion y una logica de control que facilita el acceso al lazo 
seleccionado para realizar alii las operaciones de lectura y escritura. Ahora el maximo tiempo de 
acceso para un bit arbitrario es /^ =2(Nr /fc) siendo A';- el numero de bits en cada segmento, entre los 
amplificadores de regeneracion, yfc la frecuencia del reloj . 

La tercera organizacion es la que se muestra en la figura 12.3.C, llamada serie-paralelo-serie 
(SPS). Consta de dos registros serie y un gran registro paralelo multicanal. Los datos se introducen en 
serie en el registro superior. Despues se transfieren en paralelo a la primera etapa del registro paralelo. 
Todos los canales paralelos se desplazan al unisono con un mismo reloj mas lento que el de los 
registros serie y a la salida se realiza el proceso inverso. El registro mas bajo es de nuevo serie y 
rapido, se carga en paralelo y se lee a traves del amplificador regenerador. 

Observese que en esta organizacion SPS todos los bits no siguen el mismo camino. Si el 
registro serie tiene N^ bits y el paralelo, Np, cada bit se transfiere a traves de N^+Np etapas. Asi, basta 
con un amplificador regenerador para mantener la informacion asociada a un numero de bits mucho 
mayor que si la organizacion fuera serie. 

12.2. Etapas Dinamicas en MOS y CMOS 

Para realizar las etapas de almacenamiento transitorio junto con el control local de la 
transferencia entre etapas vecinas puede usarse celdas SRAM convencionales y logica combinacional. 
Sin embargo, para el tamailo usual en memorias de acceso secuencial y en particular para las CCD, 
estos diseiios ocupan mucha area de semiconductor por lo que se usan etapas dinamicas en MOS y 
CMOS. 

Debido a la alta impedancia de entrada de los transistores MOS existe la posibilidad de 
almacenar carga en la capacidad de puerta. El circuito de ]a figura 12. 4. a muestra la version en 
tecnologia discreta de esta configuracion que consta simplemente de un condensador, C, en paralelo 
con los terminales de puerta y fuente del transistor Qi y conectado con la Hnea de datos, v/, a traves de 
un conmutador, S]. Al aplicar una tension de entrada, v/, en la puerta y en el condensador a traves del 
conmutador S i , el condensador se carga. Al abrir S i , el condensador retiene la carga durante bastante 
tiempo puesto que la linica via de descarga es a traves de la impedancia de entrada del transistor, 
reteniendose la informacion almacenada y actuando, por consiguiente, como una celda de memoria 
volatil. La salida de esta celda de memoria se toma del drenador de Qi, de forma que el condensador 



nunca se descarga al leerlo. En la practica la carga en el condensador tennina por perderse tal como 
hemos comentado antes, puesto que el conmutador Si se realiza fisicamente con otro transistor MOS 
que ofrece cierta resistencia finita. Esta resistencia junto con la de entrada de Qi termina por 
descargar el condensador. 



(a) 

^DD fPj VdD ^2 




I S 



n 






~-\^' ^^ 



Primera Etapa 






^ p? 



c^'^ cs^?^o 



12 



Segunda Etapa 



Logica 
Positiva 



v("0"MV 
v("l"hVDD 



(b) 



Vdd 


Vdd 




0t 



conducen : Q2,Qs,Qs, Qg 



(Z>2 ,,-— conducen: QyQ^'Qjj,Qj2 



Figura 12.4 Circuitos MOS para registros de desplazamiento en logica dinamica. (a) Estructura basica de 
la celda. (b) Ejemplo de registro de desplazamiento usando reloj bifasico. 



La figura 12.4.b muestra el esquema de uno de los primeros registros de desplazamiento en 
logica dinamica (desarroUado por Philco en 1965) que utiliza celdas de este tipo. Para su 
funcionamiento necesita un reloj de dos fases ((?;, 02)- 

Supongamos que se introduce un "0" en la entrada. Durante el intervalo en el que el reloj (Pi 
esta en alta los transistores Q2 y Q3 pasan a conduccion. Consecuencia del "0" en la entrada Qi esta 
en corte y el punto P] es llevado a las proximidades de Vdd por el transistor de carga Q2. Este nivel 
de tension alto ("1") se transfiere a traves de Q3 al condensador C]. Comienza entonces la fase de 
reloj 02, pasando este a alta y haciendo que ahora conduzca Q5 y Qg. Como consecuencia del "1" 
almacenado en C], el transistor Q4 tambien pasa a conducir y lleva al punto P3 a tierra. Esta 
informacion se transmite a C2 a traves de Qs y queda almacenada en C2 cuando termina el ciclo de 
reloj 02- que vuelve a pasar a corte a los transistores Q5 y Qe- Asi, tras (?/ y 02 se ha desplazado el 
"0" desde la entrada de la primera etapa, v„ a la entrada de la segunda (terminal de puerta de Q7). De 
forma analoga durante los siguientes ciclos de <Z>; y 02 esta operacion se repite tambien en la segunda 
etapa a la vez que en la primera etapa se almacena la nueva entrada teniendo, por consiguiente, la 
estructura basica de un registro de desplazamiento. 

Una version analoga a esta etapa de registro usando tecnologia CMOS es la que se muestra en 
la figura 12.5. 




Figura 12.5. Etapa de registro en CMOS 



Para comprender la estructura general del diseno de una etapa de registro de desplazamiento 
conviene recordar que el diseno se basa en tres puntos: 1) Usar las capacidades parasitas para 



almacenar de forma transitoria paquetes de carga. (2) Usar inversores para controlar los estados. (3) 
Usar puertas de transmision para facilitar la carga y descarga de esas capacidades bajo el control de 
un reloj monofasico o polifasico. Pues bien, el circuito de la. Jigura 12.4 usaba transistores NMOS y 
un reloj bifasico, en cambio el circuito de la Jigura 12.5 usa un reloj monofasico y su complementario 
y sustituye los inversores NMOS por puertas de transmision e inversores CMOS. 

Recordando el funcionamiento basico del inversor CMOS y de las puertas de transmision 
CMOS descritos en el tema 4, no es dificil de comprender el funcionamiento de la etapa de un registro 
de desplazamiento en CMOS que se muestra en la figura 12.5. 

En este circuito, la puerta de transmision facilita el proceso de carga del condensador y 
contribuye a la descarga con los impulsores de los inversores CMOS. Estos inversores mantienen el 
estado 6 conmutan, empujando hacia delante el paquete de carga que almacena el condensador, al 
ritmo del reloj monofasico, 0. 

12.3. ESTRUCTURAS CCD 

Un dispositive CCD es basicamente una sucesion de estructuras MOS que pueden almacenar 
paquetes de carga en pozos de potencial. Estos paquetes se pueden inyectar, transferir y extraer bajo 
el control de un reloj polifasico que desplaza el pozo de potencial a lo largo de la superficie (SCCD) o 
en un canal enterrado (BCCD). Asi, un CCD actiia como un registro de desplazamiento en el que la 
informacion no esta representada por tensiones o corrientes sino por paquetes de carga. Desde su 
invencion por Boyle-Smith y Kosonocky-Saver en 1970, su desarrollo ha sido muy amplio en 
aplicaciones tales como: 

> Memorias digitales. 

> Formacion de imagenes (sensor optico). 

> Procesamiento de senales analogicas. 

Esto ha sido posible porque de hecho CCD no es una nueva estructura sino una nueva forma de 
usar las conocidas estructuras MOS en tecnologia de silicio, perfectamente conocida tambien. De 
hecho los dispositivos CCD pueden considerarse como transistores MOS multipuerta. 

La figura 12.6 muestra un corte transversal de un dispositivo CCD superficial de 2 bits 
mandado por un reloj de 3 fases que actiia como un registro de desplazamiento con 3 secciones: 



1. Seccion de entrada. Con un diodo y una puerta que inyectan paquetes de carga en la estructura 
(ID) bajo control de un potencial extemo y una puerta (/G) con un control todo-nada del paso 
de la carga desde el diodo de inyeccion al primer pozo de potencial. La difusion p+ que rodea el 
area activa evita la inversion del sustrato {P). 

2. Seccion de transferencia. Consiste en una sucesion ordenada de contactos con las 3 fases del 
reloj (01, 02, 1^3: ^h <I>2 >^3> ^1, ■■ ■), tantas como bits, que controlan la forma y posicion 
del pozo de potencial en la interface Si-Si02 y arrastran la carga desde la entrada a la salida. 

3. Seccion de salida. Consta basicamente de una capacidad construida a partir de una union P-N 
polarizada en sentido inverso, cuya tension cambia cuando se le transfiere un paquete de carga 
detectando asi la llegada del paquete. El diodo se "pone a cero" (reset) mediante un conmutador 
de "reset", quedando preparado para la recepcion de un nuevo paquete de carga. Este nudo 
suele estar conectado a un transistor MOS, como veremos mas adelante. 



Al-,. 



ID 



IG 



^1 


02 


^3 












1 



OG 



OD 




Figura 12.6. Corte transversal de un dispositivo CCD superficial de 2 bits mandado por un reloj de 3 fases, {0j, 
02 y 0^) que actua como un registro de desplazamiento. 

La carga puede introducirse de forma serie a traves de la difusion de entrada o por absorcion de 
fotones en las proximidades del pozo de potencial. Supongamos sin embargo que la inyeccion es por 
ID y veamos como se traslada la carga a lo largo de la estructura (figura 12. 7). 

En t=ti, 01 esta en alta y CP2 y Cpj estan en baja. Los diodos de entrada y salida {ID, OD) estan 
polarizados en alta para evitar situaciones de inversion. Asi, las superficies bajo IG y OG estan en 
situacion de fuerte vaciamiento yIDyOD no pueden suministrar carga a la estructura CCD. Es decir, 
todos los pozos de potencial estan vacios. El pozo de potencial bajo 0] en /=?; es mas profundo que 
bajo 02 y 03, porque en este intervalo de tiempo es mayor el potencial aplicado a 0]. 



ID i 
IG \ 


1 ' 'i 




^1 \ 


■Ai ^ i 




^ N 


m ^1 




<^5 IN 


ii^ T 


"^ 








Salida \ \ 




r 



tl t2 t3 t4 t5 



t5t6 



OD, 



►l 



/£) IG ^1 ^2 ^3 ^1 ^2 <1>3 OG J f ^ 



5a/jrfa 




^^ 






F?JggCJa 



1 r 



bggggsT 



^«1 



jfigSSS! 



m 



h 



Figura 12. 7. Analisis grafico del proceso de transporte controlado de la carga mediante pozos de potencial. 



En t=t2, se baja el potencial de ID y se inyectan electrones en el pozo que hay bajo 0/. Al final 
de la inyeccion, los potenciales bajo IG y Oj son los mismos que bajo el diodo de entrada. Asi quedan 
almacenados los electrones bajo <Z>y y IG. 

En t=ti, el potencial de ID vuelve a alta, los electrones bajo IG y el exceso de electrones bajo el 
primer electrodo Oj salen fuera del dispositivo por el terminal ID, creando un paquete de carga de 
valor bien definido bajo CP;. 

En t=t4 el potencial de Oi vuelve a bajar mientras que 02 esta en alta. Este proceso se llama 
transferencia de carga. El potencial bajo 0i baja en pendiente lentamente, porque las cargas necesitan 
un tiempo finito para pasar por debajo del electrodo. 

En t=ti, se completa el proceso de transferencia de carga y el paquete queda almacenado bajo 
02- Este proceso se repite en 1=1^ (el paquete pasa bajo el segundo electrodo Os). 

En t=t7, el potencial de los electrodos CP5 vuelve a baja y empuja a los electrones hacia el diodo 
de salida, generando un potencial en la salida proporcional al valor de la carga transferida. 

Puesto que los paquetes de carga siguen la posicion espacial del pozo de potencial y estos se 
pueden controlar por tensiones extemas, la transferencia de carga se puede realizar en las dos 
direcciones del piano. 

Por otro lado, las seilales inyectadas pueden ser tanto analogicas como digitales y el dispositivo 
puede tener entradas y salidas multiples. Su consumo es bajo y la densidad de integracion muy alta. 

Aunque inicialmente, las aplicaciones de las estructuras CCD cubrian las tres areas que hemos 
mencionado al comienzo (memorias de acceso secuencial tipo FIFO, procesadores de senales 
analogicas y sensores de imagenes), en la actualidad su principal aplicacion esta en los sensores de 
imagenes, en las video camaras. En cambio, cuando la aplicacion tiene que ver con la funcion de 
buffer entre dos sistemas digitales que operan a distinta velocidad, la tecnologia dominante es la 
CMOS que hemos visto en el tema anterior. 

12.4. Memorias FIFO sobre Celdas RAM en CMOS 

La funcion principal de las memorias FIFO es el almacenamiento transitorio de datos en 
aquellas situaciones de diseno electronico en las que sea necesario acoplar dos sistemas digitales que 



operen a distinta velocidad y necesiten intercambiar datos. Siempre que los datos lleguen a un 
procesador en paquetes, de forma irregular o de forma regular pero a mayor velocidad, hace falta un 
almacenamiento intermedio, un buffer, en el que los datos que se escriben primero son los que 
primero salen. 

Tenemos muchos similes de la necesidad de esta funcion. Por ejemplo las funciones de un 
deposito regulador de caudal en el que el agua sale y debemos conseguir que el deposito no rebose ni 
se quede vacio. Las colas que se forman en la caja de un supermercado o las aglomeraciones de 
coches en un semaforo cerrado son otros ejemplos. Las caracteristicas que defmen la necesidad de las 
memorias FIFO son: 

1) Acceso a sistemas de proceso lento pero constante con datos (demandas de servicio) que llegan 
de forma irregular. 

2) Acceso a sistemas que procesan en paquetes pero a los que los datos llegan de forma 
esporadica. 

3) Interfaces entre sistemas que trabajan a distinta velocidad. 

Estas necesidades que aparecen en procesadores de senales y en comunicacion con perifericos, 
por ejemplo pueden satisfacerse a nivel electronico, con un circuito de proposito especifico, o por 
programacion. La primera solucion es mas rapida (hasta 3,6 Gbits por segundo), la segunda mas 
adaptable ante cambios de requerimientos. 

Los datos pueden escribirse en una FIFO a una velocidad y leerse a otra diferente y el tamano 
de la FIFO necesaria en una aplicacion de comunicacion entre CPUs o entre una CPU y un periferico, 
depende del tamaiio de los paquetes de datos a transmitir y de la diferencia entre las velocidades de 
los circuitos procesadores que conecta. Cuanto mayor es esta diferencia, mas datos debera poder 
almacenar para que no se quede vacia ni fuerce ciclos de espera en el procesador. La situacion usual 
es que el procesador periferico sea mucho mas lento que el procesador central. 

El tiempo de ciclo (tc) de una FIFO determina la velocidad del sistema en el que puede operar 
esta memoria sin necesidad de requerir estados de espera en el procesador. El tiempo de ciclo posee 
dos componentes: tiempo de acceso {(a) y tiempo de recuperacion (Ir), de forma que, tc = tA + tR. 

Obviamente, la maxima frecuencia de operacion esfmax=^/ic- El tiempo de acceso es el tiempo 
asignado para completar la operacion en curso y el de recuperacion el necesario para que la FIFO 



vuelva al estado estacionario y quede preparada para ejecutar la siguiente operacion. 

12.4.1. TiposdeFIFO 

Hay basicamente tres tipos de memorias FIFO. 

I: FIFO tipo registro de desplazamiento, que ya hemos visto en el apartado anterior. En estas el 
numero de palabras almacenadas es fijo (coincide con la longitud del registro) y hay un 
sincronismo implicito y necesario entre las operaciones de lectura y escritura. A medida que 
van entrando nuevas palabras dato en los registros FIFO, otras van saliendo por el otro extremo. 

II: FIFO de lectura/escritura mutuamente exclusivas en las que, en cada momento, solo se puede 
leer o escribir, pero no ambas cosas. El numero de palabras almacenadas es variable y deben 
satisfacerse ciertas condiciones en el cronograma entre las seiiales procedentes del "sistema que 
escribe" y las procedentes del "sistema que lee". Es necesario un cierto nivel de sincronismo 
entre estos dos sistemas. 

Ill: FIFO de lectura/escritura concurrente, con un numero variable de palabras almacenadas y 
posibilidad de lectura y escritura asincrona, pudiendo coexistir ambos procesos. Es decir, no 
hay restricciones en el cronograma de los ciclos de lectura y escritura. Son independientes y no 
necesitan ningiin sincronismo entre ellos. Esto significa que cuando dos sistemas de distinta 
frecuencia se conectan a la FIFO, no necesitamos preocupamos de la sincronizacion, porque la 
realiza intemamente el circuito. 

Todas las soluciones actuales sobre memoria RAM en CMOS y orientadas a funciones de 
"buffer" entre dos sistemas electronicos de distinta velocidad son de los tipos n 6 III, es decir de 
longitud de palabra variable. Los primeros diseiios fueron del tipo n pero actualmente, practicamente 
todas las FIFO son del tipo III, con posibilidad de lectura y escritura independientes y con 
almacenamiento de un numero de palabras variable. Esto les permite integrarse en cualquier sistema 
digital sincrono bajo el control de un linico reloj central. 

A su vez las FIFO concurrentes pueden ser asincronas o sincronas, dependiendo del tipo de 
seiiales de control usadas en los procesos de lectura y escritura. Lajigura 12.8 muestra los terminales 
de una FIFO asincrona y la 12. 8. b, el cronograma para una profundidad de cuatro palabras y dos 
ciclos, uno de escritura de las palabras Dj, D2 y Ds, seguido de la lectura de Dj y seguido de nuevo de 
la escritura de D4, D^ y, fmalmente, la lectura de D2, D3, D4 y jDj. 



Reloj de_ 
Escritura 



FULL-*- 



Dato de 



uato ae [^ 

Entrada ^^ 



FIFO 
Asincrona 



CLEAR 



c> 



Reloj de 
Lectura 

EMPTY 

Dato de 
Salida 



CLEAR 



FULL 

Reloj de 
Escritura 

Dato de 
entrada 



EMPTY 

Reloj de 
Lectura 

Dato de 
Salida 



\ 1 










J 






^ llena 


~J \ 




\J\J\J 

HHHC 


\ 
1 


\jy 




1 


®®(^ 


• i i — 


\ vacia 


U 




1 , 


\ ^ 












\J 




"^AA/AT 






-Jei 


lD2]{D3lD4pi 


Reset 


Escribe 
D1-D3 


Lee 
Dl 


Escribe 
D4-D5 1 


Lee i 
D2-D5 ! 



Figurta 12.8. (a) Terminales de una FIFO asincrona. (b) Cronograma para longitud 4. 

Este tipo de circuitos de memoria posee buses para entrada y salida de datos, reloj es separados 
para el control de los ciclos de lectura y escritura, indicadores del estado de ocupacion de la memoria 



( FULL , EMPTY ) y seiial de reset ( CLEAR ). 



Las lineas reloj de escritura y FULL se usan para escribir datos. Antes de escribir una palabra 
en una FIFO es necesario comprobar si hay o no espacio disponible, lo que se sabe a traves de la linea 
FULL . Si hay espacio libre, la palabra se escribe a la bajada del pulso del reloj de escritura. 



De forma analoga, las lineas de reloj de escritura y EMPTY se usan para leer. Si no hay datos, 
no tiene sentido leerlos. Si los hay se leen a la caida del pulso del reloj de lectura. 



Al comienzo de un ciclo de lectura o escritura es necesario establecer condiciones iniciales de 



reset. En el ejemplo de la figura, tras el pulso de CLEAR , se escriben tres palabras {Dj, D2 y D3) en 
tres pulsos sucesivos del reloj de escritura. Una vez que se ha introducido la primera palabra, la senal 
EMPTY cambia de baja a alta. Despues se escriben otras dos palabras, antes de que pase a baja el 
reloj de lectura, que inicia un ciclo de lectura. La lectura del primer dato no cambia el valor de las 



senales de status {FULL , EMPTY), porque ni esta llena del todo, ni vacia, con las operaciones que 
hemos realizado. 

Si ahora escribimos dos nuevas palabras, la FIFO estara llena, tal como indica el cambio de 



estado en FULL . Finalmente, las cuatro palabras que quedan todavia en la FIFO, (D2 ■■■ D5), se leen, 



vaciando de nuevo la memoria, tal como indica la senal EMPTY , que pasa entonces a baja. La 
desventaja de una FIFO de esta clase es que las senales de "status" no pueden ser sincronizadas 
totalmente con los reloj es de lectura y escritura. 

Si hay espacio en la FIFO para solo una palabra dato, el siguiente ciclo de escritura activa a 



FULL . Entonces, el sistema de escritura "interroga" a la seiial FULL y espera hasta que, de nuevo, 
haya espacio libre en la FIFO. En el momento en que se lea una palabra, el reloj de lectura pone a cero 



la linea status FULL . Ahora bien, este reset, que es sincrono con el sistema de lectura, es asincrono 
con el sistema de escritura y en el peor de los casos no deja tiempo para que transcurran los retardos 
necesarios para el asentamiento de las senales dando lugar a potenciales problemas de inestabilidad. 
Este problema puede presentarse tambien con la senal EMPTY que debe de ser sincrona con el 
sistema que lee la FIFO pero que quien la activa es el sistema que escribe. 

Para resolver estos problemas se usan FIFOs sincronas, que actiian bajo el control de un linico 
reloj central, como cualquier otro componente de un sistema digital sincrono. Este reloj esta siempre 
activo y subyace a la operacion de todos los circuitos, esten o no ejecutando acciones en un momento 
determinado. Las seiiales de facilitacion {chip select) inician la ejecucion sincrona de las operaciones 
de lectura y escritura en todos los circuitos del sistema. En la figura 12.9.a mostramos los distintos 
terminales de una FIFO sincrona, donde junto a las Hneas que ya conocemos, aparecen dos senales de 
reloj, una procedente del sistema que escribe y otra del que lee. En el cronograma de la parte b de la 
figura 12.9 muestra como se inicia la lectura con el flanco de bajada de WE y los datos se escriben 
con el flanco de subida del siguiente pulso de reloj. Analogamente RE controla la lectura. Observese 
que WE esta sincronizada con el reloj de escritura y RE con el de lectura. Tambien hay sincronismo de 



FULL y EMPTY con los reloj es de escritura y lectura. Asi, la linea de FULL solo cambia de nivel 
en sincronismo con el reloj de escritura, aunque el cambio lo haya provocado la lectura de una 
palabra. 



Reloj de_ 
Escritura 

Facilitacidn 
de Escritura 



FULL^ 

Data de 
Entrada- 



c> 



FIFO 
Sincrona 



CLEAR 



Reloj de 
Lectura 

Facilitacidn 
de Lectura 



EMPTY 



>Dato de 
Salida 



CLEAR \ 1 








FULL IJJ 


VAAAA/ 


\ llena 


J 


deEscritura \j \J \j 


WWA 
/ \ 


JVWl 


Facilitacidn 
Escritura (WE) 


/ \ 




Uato de \ 
entrada / 


®®®ffD 


(~X-X 




EMPTY ijj, „,„ 


_J 


AAAAy 


v± 


I^Ji J\f\I\ 


AAAAA 

la. 


VW\i" 


Facilitacidn 
Lectura (RE) 


r 


v± 


Data de Salida 


X 


"' 'M°'t'"''h\ 


Reset 


Escribe Lee 
D1-D3 Dl 


Escribe 
D4-D5 


Lee 

D2-D5 \ 



Figura 12.9. (a) Terminales de una FIFO sincrona de Texas Instrument, (b) Cronograma de los procesos de 
lectura y escritura. 



12.4.2. Arquitecturas de las FIFO-RAM 

Hay dos tipos de arquitecturas basicas. La primera es la inherente a los registros de 
desplazamiento: entra un nuevo dato, que "cae" hasta la primera posicion no ocupada, se desplazan 



todos los demas y sale el del ultimo biestable del registro. El principal inconveniente de esta 
organizacion es el retardo intrinseco al recorrido de todo el registro cuando el tamafio de la FIFO es 
grande. 

El otro tipo de arquitectura esta basado en una organizacion circular de la memoria y el uso de 
dos punteros. Asi, nos evitamos tener que desplazar los datos a traves de todas las posiciones de la 
FIFO. La idea de esta arquitectura se ilustra en Xaflgura 12.10. Aqui, la direccion de memoria a la que 
va el dato de entrada es la que seiiala el puntero de escritura. Analogamente, la primera direccion de la 
FIFO en la que debe leerse es la que seiiala el puntero de lectura. Al inicializarse la FIFO tras el reset, 
los dos punteros indican la misma direccion de memoria. Tras cada operacion de escritura, el puntero 
correspondiente se desplaza a la siguiente posicion. Analogamente, cada operacion de lectura 
desplaza el puntero de lectura hasta la direccion de la siguiente palabra que tiene que leerse. Asi, el 
puntero de lectura sigue constantemente al de escritura y cuando lo alcanza es que la FIFO esta vacia. 
Analogamente, si el puntero de escritura alcanza al de lectura, la FIFO esta llena. 



Entrada de 
Datos 



Vacia 



Llena 




Salida de 
Datos 



Figura 72.i<?.Organizaci6n circular de los circuitos FIFO con dos punteros.. 



Los circuitos FIFO que responden a este tipo de organizacion circular con dos punteros se 
disenan a partir de memorias SRAM con entrada y salida separadas y contadores para implementar los 
punteros que generan en cada momento las direcciones de lectura o escritura, tal como se ilustra en la 



figura 12.11. Junto a las senales de descripcion de los estados de FIFO llena {FULL) o vacia 



{EMPTY), algunas FIFO proprcionan tambien senales que describen estados intermedios como 
"semillena" (half FULL), "casi llena" (almost FULL) y "casi vacia" (almost EMPTY). 



Entrada 
de Dato 

Reloj de 
Escritura 



FULL 



HalfFULL 
EMPTY 



CLEAR . 



Reloj de 
Lectura 



Salida 
de datos 



Control de 
Escritura 



Logica de 
Borrado 



Control de 
Lectura 



CT7:> 





Logica de 
Flag 









<A 



<±^ 



Puntero de 
Escritura 



c> 



Puntero de 
Lectura 



t> 



SRAM 



Figura i2.i7.Diagrama de bloques de las FIFO SRAM de T. I. tipo ACT-788L 



La principal ventaja de esta arquitectura es que puede aumentarse significativamente la 
capacidad de la FIFO sin incrementar el tiempo de acceso ni la complejidad de la electronica de 
control, salvo al contador binario que, logicamente, necesita ser de n bits para 2" posiciones. 



12.5. Ejemplo 

Para ilustrar el estado de la tecnologia electronica en circuitos FIFO basados en memoria RAM 
estatica vamos a comentar la FIFO Am7205A de AMD (8192x9). Este circuito esta organizado en 
8192 palabras de 9 bits, con posibilidades de lectura y escritura asincrona y simultanea y facilidades 
de conexion serie y/o paralelo para aumentar la longitud de palabra o el numero de palabras. 

hafigura 12.12 muestra el diagrama funcional de la FIFO. Los terminales D0-D8 son los datos 
de entrada y los Q0-Q8 los datos de salida. Estos terminales estan en el estado de alta impedancia 

siempre que la linea de control de lectura {R) esta en alta. 

Tal como hemos descrito en el apartado anterior el direccionamiento se realiza por punteros 
uno para lectura y otro para escritura ya que la FIFO esta organizada como una memoria RAM de 
doble puerta. Cuando estos punteros alcanzan el valor de la direccion mas alta (8191), pasan a cero, 
de forma que los bits que representan el estado logico de la FIFO siempre operan sobre la diferencia 
entre los valores de estos dos punteros. 

Alrededor de la memoria existe una logica de control que guia los procesos de lectura y 
escritura evitando situaciones no convenientes, tales como leer cuando una celda esta vacia o escribir 
sobre una celda llena. Existe tambien una logica de control adicional para facilitar la expansion. 
Veamos primero una breve descripcion del significado funcional de los terminales de control, despues 
describiremos los modos basicos de operacion (reset, lectura, escritura y retransmision). 

Hay dos bits de condicion ( EF y FF ), ambos activos en baja. EF {empty flag) indica que la 
FIFO contiene datos y pueden por consiguiente ser leidos. EF pasa a baja cuando el puntero de la 
direccion lectura es igual al puntero de la direccion escritura, indicando que el dispositivo esta vacio. 
Por consiguiente, mientras EF este en baja inhibira posteriores operaciones de lectura. El paso a alta 
de EF se realiza durante el primer ciclo de escritura de una FIFO vacia, tras el flanco de subida de la 
orden de control de escritura (fFJ. Analogamente, EF pasara a baja tras el flanco de bajada del 
control de lectura \r\ durante el ultimo ciclo de lectura que crea la condicion de FIFO vacia. 

Para conseguir una mayor eficiencia en la comprension del funcionamiento de este circuito es 
conveniente ver tanto el diagrama de bloques y la descripcion funcional de sus terminales como el 
cronograma correspondiente a la evolucion temporal de estas senales en los distintos modos de 



comportamiento (ciclos de lectura y escritura) en distintas condiciones de los indicadores del estado 
de la FIFO. Asi pues, conviene estudiar conjuntamente las Jiguras 12.12 y 12.13. 



W 



R 



Control 

de 
Escritura 



Control 

de 
Lectura 



Puntero 

de 
Escritura 



I D0-D8 



Entrada de 
Dates 



t 8192x9 A 



8191 



Puntero 

de 
Lectura 



Salida de 
Datos 



WQO< 



Q0-Q8 



Bit de 
Condicion 



■ EF 
■FF 



XI- 



Logica 

de 

Expansion 



Logica 

de 
Reset 



XO/HF 



1\_ 

^S FL/RT 



Figura 12.12. Diagrama de bloques de la FIFO Am7205A de AMD (8 192x9). 



El bit de condicion FF (full-flag) esta tambien activo en baja. Mientras permanece en alta 
indica que la memoria no esta llena del todo y por consiguiente pueden escribirse en ella nuevos 
datos. Cuando el puntero de la direccion de escritura esta en una posicion inferior que la del de 

lectura, FF pasa a baja indicando que la memoria esta llena e inhibiendo posteriores operaciones de 
escritura. 



FF 

EF 

W 

D0-D8 . 

T 

Q0-Q8 



(a) 



\ 



acepta datos 



xa 



contiene datos 



I 



'WEF 



^DS 



m 



-fdatosvdiido^, \ 



\ 



ler Ciclo de escriturd 






1 



<'DV\ 



datos vdlidos, 



Ciclo de Lectura 



(b) 



FF 


1 \ 


k 


llena 


' t 
1 1 


1 J acepta 


datos 




'h 


VFF 




^-t tj^F 




EF 


i 






t^«r 


1 1 




W 


A i 








i / 








D0-D8- 


datos vdlU 


in^ ^ 




1 \ 


lOS, I 






R 






1 

1 


"i 


/ i 


Q0-Q8 


—LJX^fJntn'! ..-i/.v/«o\/Oa^^ 


I 






— \-()^^atos 


•^""""■^ Mocr^ 






1 



'RFF-^ 1 



— 1 — 1 




i 


/ 



Ultimo Ciclo de Escritura ler Ciclo de Lectura 



datos vdlidos)^m — 



Ultimo Ciclo de Lectura 



Figura i2./5.Cronograma de la FIFO, (a) Primer Ciclo de escritura seguido de \m ciclo de Lectura. (b) Ultimo 
ciclo de escritura seguido del primer ciclo de lectura y finalmente del ultimo ciclo de lectura tras 
una serie de ciclos intermedios que han descargado la FIFO. 



El terminal FL/RT (Jirst-load/retransmit) se usa para pasar del modo de uso individual de la 
FIFO al modo de expansion en profundidad. EI dispositivo que recibe primero los datos debe tener su 

FL en baja y el resto lo tendra en alta. Cuando solo hay un dispositivo este terminal se usa para 
controlar la retransmision del dato previamente escrito. 

Los terminales R [Read], W ijVrite) y RSyReset) cumplen las funciones usuales ya 



conocidas. Finamente, XJ {expansion in) y XO/HF (expansion-out/half-fulF) controlan la 
posibilidad de conectar modulos iguales para expandir la FIFO en profundidad. Durante el 
funcionamiento como dispositive linico, ^ va a tierra y, cuando opera en modo extendido, XI va al 

XO del dispositive previo. Analogamente, cuando XO no se usa para conectar con el XI del 
siguiente modulo, actiia como bit de condicion para indicar que la FIFO esta Uena hasta la mitad. 

La operacion de la FIFO comienza con un ciclo de reset. Si FF esta en alta, la memoria puede 
recibir datos en un ciclo de escritura cuyo cronograma se muestra en lafigura 12.1 3. a. La escritura 
comienza a la caida de \^j y los datos que aparecen en {D0...D8) se graban de forma secuencial hasta 

que el bit de condicion de memoria Uena ( FF ), inhibe la escritura. 

La operacion de lectura se inicia con el bit de condicion EF en alta, indicando que la FIFO no 
esta vacia y por consiguiente tiene sentido sacar datos de la misma. El ciclo de lectura se inicia con el 
flanco de bajada de la linea de control \r\ (Figura 12.1 3.b). Los datos aparecen en (Q0...Q8) y 

permanecen estables desde la caida a la nueva subida de [Rj . Entonces, Q0-Q8 pasan al estado de alta 

impedancia, donde tambien permanecen cuando la FIFO esta vacia o cuando opera en el modo de 
expansion pero no esta activa. 

Todos los circuitos de memoria (RAM, CAM, FIFO,...) son esencialmente elementos de diseno 
en sistemas digitales en general. Cuando el sistema digital del que estamos hablando es un sistema de 
calculo estos circuitos cumplen las funciones que les pide la Arquitectura de Ordenadores. En el 
contexto de la Electronica Digital nuestra funcion es describir el modulo y proponer procedimientos 
de analisis y sintesis. Cuando el circuito es de baja complejidad, podemos ser exhaustivos. Sin 
embargo, al aproximamos al estado actual de la tecnologia integrada el grado de complejidad de los 
circuitos que seleccionamos para desarrollar un tema concrete suele ser alto. Asi nos paso con las 
memorias CAM y asi nos ocurre tambien con las FIFO tipo Am7205-A que estamos comentando. 

En estas circunstancias, la descripcion del significado funcional de los terminales, el 
cronograma de la evolucion temporal de las senales de control (/?, W, EF, FF) en los modos de 

lectura y escritura y el tipo de conectividad necesaria para integrar a la FIFO en diseiios mas amplios, 
deben de seguir forzosamente las descripciones y especificaciones de las hojas de datos del fabricante 
correspondiente. Afortunadamente, existe un alto grado de coincidencia entre las estructuras intemas. 



el significado funcional de los terminales y los modos de operacion de las distintas FIFO, pero esto no 
exime del uso directo de los datos reales correspondientes a cada solucion concreta (por ejemplo, la 
solucion TTL SN74ALS2239 6 el ejemplo de AMD que estamos usando aqui). 

Volvamos ahora a nuestro ejemplo y veamos como se puede expandir en anchura y en 
profundidad. Recordemos que la expansion en anchura nos proporciona FIFOs con palabras de mas 
bits y la expansion en profundidad nos proporciona mas palabras del mismo numero de bits. Las 
conexiones necesarias para estos dos tipos de expansiones se muestran en \diSflguras 12.14 y 12.15, 
adaptadas del catalogo de AMD ("MOS Data Book", 1991). 



D 1 



Entrada 
de datos 



W - 
RS- 



^ 



y kHF 



Am7205A 



9/' 



XI 



^X kHF 



Am7205A 



5 



9/ J^ 
\ " 18 



^ 



-R 

'Yf 

-RT 



Salida 
de datos 



Figura 12.14.Composici6n de memorias FIFO para aumentar el numero de bits. Paso de 9 a 18 bits usando dos 
circuitos Am7205A en paralelo. Los controles de lectura y escritura son comunes y el canal de 
datos se distribuye entre ambos circuitos. 

En la expansion en anchura obtenemos una FIFO de 8192-9-N] bits, haciendo comunes todas 
las lineas de control que entran a los Nj dispositivos. La conexion de la. figura 12.14puede incluir 
ciertos elementos de azar al obtener los bits de estado ("status flags"). En las transiciones de alta a 
baja, se puede usar la funcion OR de los "flag" individuales porque no aparecen las desviaciones entre 
los comportamientos individuales. En cambio, cuando estos bits de condicion realizan transiciones de 
baja a alta, pueden generarse valores falsos del bit compuesto ya que en estas circunstancias las 
desviaciones entre los comportamientos individuales si que son operativas. Si realizamos la 



composicion de los bits de condicion mediante una puerta AND, tendriamos la situacion inversa. Es 
decir, la transicion de baja a alta no genera problemas, pero la transicion de alta a baja produce "flags" 
erroneos. Para evitar ambos problemas se considera al "flag" de uno de los dispositivos como 
representante de la composicion y los circuitos de control de lectura y escritura se disenan para que 
operen en "el peor de los casos", cuando estamos seguros que se ban superado los valores de los 
tiempos de asentamiento de ambos bits. 

La figura 12.15 muestra el circuito correspondiente a la expansion en profundidad. Es una 
conexion serie en la que los datos de entrada estan accesibles (en paralelo) para todos los circuitos. El 
control se encarga de facilitar uno de ellos e inhibir todos los demas hasta que el circuito facilitado 
este Ueno. Entonces se inhibe este y se facilita el siguiente. Lo mismo ocurre en el proceso de lectura. 
En esta expansion obtenemos memorias de 8192-9-N2 bits que se configuran durante el ciclo de reset. 

La XO de un dispositive se conecta a\a XI del siguiente y la XO del ultimo cierra el lazo con la 
XI del primer o. 

El dispositivo que va a recibir primero los datos tiene que tener su linea FL (first load) en baja, 
mientras que los otros pueden tener esta linea en alta. Cuando se ha escrito en la ultima posicion 

(8192) de un dispositivo activo, se produce una bajada en su pulso XO y lo mismo ocurre cuando se 
lee en la ultima posicion. La siguiente operacion de ^r] hv)] se realiza sobre el siguiente dispositivo 

que ahora estara activo, a la vez que inhiben todos los demas. En esta composicion en profundidad 
necesitamos obtener la funcion OR de todos los bits FF para saber cuando estan Uenos todos los 
dispositivos y analogamente con los bits de condicion EF , para saber cuando estan vacios. 

Es posible tambien combinar ambas expansiones conectando en paralelo ristras de 
composiciones serie para obtener a la vez memorias FIFO de mayor longitud de palabra y de mas 
capacidad. 

Existen muchas aplicaciones en las que nos interesa conectar dos sistemas (A y B) a traves de 
sus FIFO mediante configuraciones bidireccionales y asincronas. Existen soluciones integradas 
especificas para este tipo de problema como la Am4701 que es, ademas, programable. Sin embargo, 
siempre podemos conseguir una comunicacion bidireccional usando circuitos unidireccionales como 
el que hemos usado en este apartado si los conectamos de la forma mostrada en \a figura 12.16. 



xo 



w 



D0-D8 



FF 




o 



Am7205A 



FF 



<i *- 



^ 



EF 

■« — f- 



■R 



.££. 



FL 



XO 



Am7205A 



FF 



RS 



o 



EF 




FL 



XI 
XO 



Am7205A 



XI 



EF 



C> QO-QS 
-Vcc 



-* 1 FL 



Figura i2.i(i. Expansion en profundidad de memorias FIFO. Se mantienen los 9 bits pero se aumenta el numero 
de palabras. 

Conectamos el sistema A con el B mediante una FIFO (A — > B) en la que las entradas proceden 
de A (DA0...DA8) y las salidas (QB0...QB8) ya estan en B. Inversamente, las salidas de la 



FIFO (A -> B) son las entradas de la FIFO (B -> A) y las salidas de (B -^ A) son las 
entradas de (A ^^ B). 



WA 
FFA 



DA0-DA8 



HFA^ 



EFA 



Am7205A 




RB 



-► EFB 



-► HFB 




Am7205A 



QB8 

Sistema B 

'-DB8 



WB 



■*- FFB 



Figura 72.76. Configuracion bidireccional. 



Hay otras FIFO como la CY7C4215 de CYPRESS (522x18) cuya organizacion interna es analoga 
a la de AMD. Trabaja a lOOMHz con tiempos de lectura/escritura de lOns y posibilidad de lectura 
simultanea con la escritura. Su registro de estado posee cinco indicadores de nivel de carga (vacia, 
llena, semi-llena, cast vacia y casi llena). Los dos liltimos son programables. La lectura y la escritura 
se controlan con relojes separados y los circuitos se pueden expandir usando los terminales para 
conexion en cascada de entradas y salidas y los correspondientes a la seleccion del dispositivo que 
carga primero. Tal como comentamos en la descripcion general de las FIFO RAM de AMD, el bit 
indicador de memoria vacia solo se activa bajo el control del reloj de lectura. Analogamente, el bit 
que describe el estado de memoria llena solo se actualiza con el reloj de escritura. Esta arquitectua de 
indicadores sincronizados con relojes independiente nos garantiza que su descripcion del estado 
permanecera valida entre un ciclo de reloj y el siguiente. 

Texas Instruments ofrece tambien memorias FIFO sincronas (SN74ALVC7813, 64x18), y 
bidireccionales (SN54ABT7820, 512x18x2) formadas a partir de dos FIFOs separadas y en tecnologia 
avanzada BiCMOS. 



12.6. Aplicaciones de las FIFO 

Ya hemos comentado que las aplicaciones de las FIFO estan asociadas, en general, a su caracter 
de memoria "intermediaria" entre sistemas digitales de distinta velocidad o de modos diferentes de 
procesar los datos. Situaciones de este tipo se presentan, por ejemplo, en la conexion de perifericos a 
procesadores, en la conversion analogico-digital de senales de video, en la transferencia de datos por 
bloques o en la recoleccion de datos previos o posteriores a la ocurrencia de un determinado proceso. 
Lafigura 12.17 muestra la conexion con el procesador de un periferico bidireccional usando una 
FIFO tipo SN74ACT 2235 de TI. 




VlJI 



Puerto I/O 



TT 
W V 



Figura 72. 77. Conexion de un periferico bidireccional usando una FIFO tipo SN74ACT2235. La parte matizada 
corresponde al caso de perifericos con controlador de acceso directo a memoria. En este caso los 
datos son primero recolectados por la FIFO y despues transferidos en bloque a la RAM. 



Este esquema es representativo, a nivel cualitativo de un conjunto amplio de aplicaciones de la 
FIFO. Como los procesadores son mas rapidos que sus perifericos, la funcion de la FIFO es acoplar 
esas velocidades diferentes. Por otro lado, y dado que ima gran parte de los perifericos son 
bidireccionales, como un puerto paralelo o serie o un controlador de disco duro, es conveniente usar 
FIFOs bidireccionales que incluyen en el mismo circuito dos FIFOs unidireccionales independientes. 

La FIFO puede actiia como buffer de entrada o de salida y en situaciones en las que se dispone, 
no , de un controlador de acceso directo a memoria (DMA). Cuando la FIFO opera como un buffer 
de entrada y el procesador puede lee esos datos se genera una senal de interrupcion condicionada por 



los indicadores del estado de carga de la memoria {HALF FULL, ALMOST FULL 6 FULL ). 

El procesador opera de forma analoga en el proceso de escritura de datos en un periferico a 
traves de la FIFO. Ademas, si combinamos la FIFO con un circuito controlador del acceso directo a 
memoria, podemos conseguir la transferencia de datos en bloques. Primero los acumula y cuando 



alcanza el nivel de alguno de sus indicadores de estado, ALMOST FULL 6 FULL , los transfiere a la 
RAM del controlador del acceso directo a memoria, por ejemplo. Para ello se requiere que el control 
del bus durante la transferencia este gestionado desde la FIFO. Cuando el paquete de datos ha llegado 
a la memoria RAM, se devuelve el control al procesador. Es decir, cuando se recibe una peticion de 
transferencia de datos, el controlador del acceso directo a memoria (DMA) interrumpe al procesador y 
toma el control del bus, transfiere el paquete almacenado transitoriamente en la FIFO y devuelve el 
control al procesador. Si no usaramos esta FIFO, el procesador deberia esperar hasta el final de cada 
transferencia individual. 

Otro grupo de aplicaciones de las FIFO tiene que ver con la adquisicion de datos para su 
posterior tratamiento digital o transmision. Por ejemplo en tratamiento digital de imagenes o en 
videoconferencia donde una imagen de video de 1024x1024 pixels, por ejemplo genera 1Mbyte de 
datos por cada imagen. Tras una compresion de 32 a 1 todavia tenemos 32Kbytes de datos 
comprimidos que hay que procesar y/o transmitir. Para hacer mas eficiente estos procesos, los datos se 
almacenan transitoriamente en una FIFO para esperar el momento de la transmision o proceso. El 
resto del circuito digital puede entonces dedicarse a otra tarea, por ejemplo a adquirir y comprimir la 
siguiente imagen. Lafigura 12.18 muestra de forma cualitativa este tipo de aplicaciones. 





Imagen de Video (1024x1024) 








\/ 








Camara 














\ 








\7 






Reloj 






Digitalizador 
(conversor A/D) 






1 








// ^ 




' 




L-> 




•-J 




Generador de 
Ciclo 




Compresion 




FIFO 








w 




\7 








FIFO (32Kbytes) 




Procesador de 
senales 


^Salida 












o 




\7 




Canal 




Memoria 








1 


-J 

r 












FIFO (32Kbytes) 








v 








Descompresion/Visualizacion 







Figura 12.19. Esquema cualitativo de las aplicaciones de las FIFO en los procesos de adquisicion de datos para 
su posterior tratamiento digital o transmision. 



12.7. Problemas 



Hemos visto en este capitulo las memorias de acceso secuencial, los tipos de organizacion mas 
usuales y la sintesis correspondiente mediante celdas RAM y estructuras CCD. 



Para explicar el funcionamiento de estas memorias nos hemos apoyado en circuitos reales 
representatives del estado actual de la tecnologi'a integrada. En estos ejercicios vamos a proponer la 
sintesis de estructuras minimas que permitan ilustrar el funcionamiento de las memorias de acceso 
secuencial sin la necesidad de abordar la complejidad de los circuitos reales. Incluiremos tambien 
algunas cuestiones que ayuden a reflexionar sobre el funcionamiento de las estructuras CCD. 

E.12.1. ^Por que decimos que las estructuras de los registros de desplazamiento en CCD pueden 
considerarse como transistores MOS multipuerta? . Proponer un circuito con transistores 
MOS en tecnologia discreta que realice la misma funcion secuencial que el circuito 
mostrado en lafigura 12.6. 

E.12.2. Dibujar la evolucion temporal de la tension en el punto Ps (drenador del transistor Q4) en 
el circuito de lafigura 12.4 cuando en la entrada, Vj, aparece la secuencia 110101. Asociar 
el valor de esta tension con el correspondiente a los pulsos Oj y 02 del reloj bifdsico que 
controla el desplazamiento. 

E.12.3. En la figura 12.5 se ha propuesto un esquema de una etapa de registro en CMOS sin 
desarrollar mucho la explicacion de su funcionamiento, basado en el funcionamiento de las 
puertas de transmision mandadas por un reloj monofdsico (0) y su serial complementaria 
(0) y en los inversores CMOS que estudiamos en el tema 4. 

Apoydndonos en las figuras 4.12 y 4.16 del tema 4, explicar el funcionamiento de lafigura 
12.5. Dibujar el cronograma de la evolucion de las senales en Ij, I 2 y Vq, cuando en la 
entrada de la etapa, Vf, aparece la secuencia 010010. Usar como referenda las senales de 
reloj 0y . 



E.12.4 



En la figura 12.3 se muestran tres organizaciones tipicas de memorias secuenciales. a) 
Organizacion serie. b) Organizacion por lazos con direccionamiento directo para cada lazo 
y secuencial dentro del lazo y c) organizacion serie-paralelo-serie. 

Disenar los circuitos de control correspondientes para una version minima de cada una de 
estas organizaciones, sin considerar los mecanismos de refresco. 

a) Se dispone de cuatro biestables D, puertas logicas y circuitos de tiempo tipo 555. Proponer 
las conexiones adecuadas para entrada y salida de datos y control del desplazamiento en 
una memoria secuencial de 4 bits con organizacion serie. 



b) Partiendo de los mismos circuitos del apartado anterior disenar una organizacion con dos 
lazos de 2 bits cada uno, induyendo junto a los mecanismos de entrada, salida y 
desplazamiento, los correspondientes al decodificador de las direcciones de los dos lazos. 

c) Usando de nuevo los circuitos disenados en los apartados anteriores y 4 biestables D 
adicionales, disenar la version minima de la estructura serie-paralelo-serie. Es decir, un 
registro de 2 bits, dos vias paralelas de dos bits cada una y otro registro serie de salida, 
tambien de 2 bits. 

E.12.5. En lafigura 12.12 se muestra el diagrama de bloques de una memoria FIFO integrada para 
8192 palabras de 9 bits sobre una estructura RAM con posibilidad de lectura y escritura 
sincrona. 

Manteniendo todos los bloques funcionales (control de lectura, control de escritura, 
memoria RAM, punteros, bit de condicion, logica de reset y logica de expansion), disenar 
una version minima para cuatro palabras de dos bits. ^Como podriamos conectar en serie y 
enparalelo dos FIFOs minimas de este tipo?. Considerar el procedimiento propuesto en las 
figuras 12.14 y 12.15 para circuitos reales mas complejos. 

E.12.6. En lafigura 12.2 aparece la estructura general de las memorias LIFO. Disenar una version 
minima para dos registros de cuatro bits cada uno. 



^^^^ 



Preparacion de la Evaluacion 



Objetivos 



1: Organizacion de acceso secuencial 
2: Etapas dindmicas en MOS, CMOSy CCD 
3: Funcionalidad y arquitecturas de las FIFO 
4. Ejemplos y aplicaciones 



1. Organizacion de Acceso Secuencial 

1.1. El acceso secuencial completa los distinto modos de acceso a direcciones de memoria vistos en 
este texto. ^Podria construir un cuadro resumen comentando las caracteristicas distintivas, las 
ventajas y los inconvenientes de cada uno de los modos de acceso que conoce?. 

El proposito de esta cuestion de evaluacion es darle la oportunidad de que reflexione sobre su 
conocimiento global sobre el tema del direccionamiento de memorias. 

1.2. Las figuras 12.1 y 12.2 de este tema muestran las organizaciones FIFO y LIFO. Intente 
ilustrarlas para el caso mas simple posible: Dos registros de desplazamiento de dos bits cada 
uno. iComo se controlan los procesos de lecturay escritura?. Use los ejercicios resueltos del 
tema 9 para ayudarse. 

2. Etapas Dinamicas en MOS, CMOS y CCD 

2.1. Explique cualitativamente el funcionamiento de las estructuras CCD. Use la analogia con 
transistores discretos propuesta en el ejercicio E.12.1. ^Entiende el proceso de transporte de 
cargo controlado por barreras de potencial?. i Ve la necesidad de usar relojes polifdsicos? . 
Revise lafigura 12. 7 para ayudarse de un grdfico en la contestacion a estas cuestiones. 

3. Funcionalidad y Arquitectura de las FIFO 

3.1. ^Cudles son las ventajas e inconvenientes asociadas al uso de celdas SRAM para las memorias 
FIFO?. 



3.2. Describa las caracteristicas funcionales de los terminales necesarios para la gestion de una 
FIFO asincrona. 

3.3. Dibuje el cronograma correspondiente a los ciclos de lectura y escritura de una FIFO 



asincrona con CLEAR , FULL y EMPTY a la que solo le caben tres palabras. 



Suponga que primero, tras inicializar la FIFO con CLEAR, tiene que escribir las palabras Dl, 
D2 y D3. Despues, el cronograma debe representor la lectura de Dl y D2 y, finalmente, el 
cronograma debe representor la escritura de D4 y D5. Comente el significado funcional de las 



transiciones de FULL . 
3.4. Describa las situaciones en los indicadores de estado que pueden dar lugar a problemas de 



inestabilidad en las FIFO asincronas. Recuerde que los cambios de estado en FULL y 



EMPTY tienen que dar tiempo al asentamiento de las senales en torno a una transicion del 
pulso de reloj. 

3.5. ^Cree que circuitos del tipo de los de la figura adjunta ayudan a resolver el problema de 
inestabilidad mencionado en la cuestion anterior?. ^Por que?. 



Reloj 
Local 



Serial 
Asincrona 



Reloj 
Local 



Serial 
Asincrona 




Reloj 



Biestable | i I 



-A-/.-/- 



Tiempo de ^ Tiempo de retencion 
"Setup " (hold time) 



Serial 
Sincronizada 



3.6. iPodria describir los terminales adicionales necesarios para pasar de una FIFO asincrona a 
una sincrona?. 



3.7. Describa el cronograma correspondiente a un proceso de escritura, seguido de otro de lectura 
y, finalmente, un tercero de escritura en una FIFO sincrona a la que solo le quepan 4 
palabras. Suponga, por ejemplo, que escribe cuatro, lee dos y vuelve a escribir una. Comente 



la evolucion de los indicadores de estado (EMPTY y FULL ) alo largo del proceso. recuerde 



que el cronograma debe empezar con la inicializacion de la FIFO a traves de CLEAR 

3.8. ^Que diferencias encuentra entre una FIFO organizada como regis tro de desplazamiento 
convencional y otra organizada circularmente con dos punteros?. iHasta que punto es 
adecuado llamar secuencial al direccionamiento de la segunda?. iPor que?. 



^^^^^ 



Los ejemplos que hemos usado en el tema proceden de AMD, CYPRESS y TEXAS 
INSTRUMENTS. 

Referencias Bibliograficas 

1. Advanced Micro Devices: "CMOS Memory Product". 1991. 

2. Cypress Semiconductor: "High Performance Data Book". 1995.. 

3. Texas Instruments: "FIFO Architecture, Functions and Applications". Nota de Aplicacion 
SCAA042A, 1999. 

4. www.music-ic.com 

5. Rabaey, J.M: "Digital Integrated Circuits. A Design Perspective". Prentice Hall Inc. 1996, 

6. Weste, N.H.E., Eshraghian, K.: "Principles of CMOS VLSI Design". Addison-Wesley, 1994. 







Logica Secuencial Programable: 

CPLDS Y FPCAS 



^ CONTEXTO 

En el tema 7 hemos visto, esencialmente, la parte combinacional de la logica programable, las 
PROMs, PALs y PLAs, lo que usualmente se conoce como SPLDs. Es decir, circuitos sencillos de 
logica programable en los que la densidad de integracion es baja. entre 100 y 500 puertas, y 
empaquetadas con un numero de terminales entre 20 y 44. Los PAL 22V10 son representativos del 
estado actual de los SPLDs y, de hecho, se han convertido en estdndares industriales, fdciles de 
disenar, programary usar. 

Los calificativos de "sencillos" y "combinacionales" no son ciertos del todo porque ya 
incluyen macroceldas de salida con circuitos biestables que los hacen adecuados para aplicaciones 
en control logico de bajo voltaje (3,3V) y bajo consumo. En realidad, estos SPLDs son idoneos para 



el diseno de mdquinas de estados finitos de hasta 2" estados, siendo n el numero de macroceldas, y 
como tal se usan en telefonia celular y otros disenos portdtiles. En este tema vamos a estudiar los 
CPLDs (Complex Programable Logic Devices) y los FPGAs (Fields Programmble Gate Arrays) que 
corresponden esencialmente a circuitos logicos programables de mucha mayor densidad de 
integracion y con arquitecturas mas flexibles, sin la limitacion de los SPLDs en los que toda la logica 
combinacional estaba limitada a las matrices AND y OR iniciales y toda la parte secuencial a los 
regis tros de las macroceldas finales. 

-f -f CONOCIMIENTO PREVIO NECESARIO 

Todo el conocimientro necesario para la comprension de este tema se ha visto en temas 
anteriores. En particular, las referencias al uso de fusibles o tecnologia EEPROM para programar 
las CPLDs se ha visto en el tema 7. Las referencias al uso de celdas de memoria SRAM para 
reconfigurar la conectividad tambien han sido estudiadas en el tema 11 y la mismo ocurre con las 
referencias a memorias FIFO o a mdquinas de estados finitos. 

■^■^-^ Ob JETivos DEL Tema 

El objetivo general de este tema es obtener una vision global del campo de la logica secuencial 
programable, su frontera con los PLDs del tema 7 y algunas ideas sobre las tendencias actuales en 
este campo. De forma mas concreta pretendemos: 

Objetivo 1: Conocer la estructura interna, los modulos bdsicos, los procedimientos de 
interconexion y programacion de los circuitos CPLDs. 

Objetivo 2: Lo mismo para FPGAs con un intento de establecer sus fronteras con los CPLDs, que 
cada vez son mas difusas. 

-^■^-^-^ GUIA DE ESTUDIO 

La extension, complejidad y dinamismo del conocimiento y la tecnologia electronica asociados 
a la logica programable hace que el cardcter de este tema sea esencialmente informativo, con 
referencias a otros textos o direcciones de la red donde el lector interesado podrd encontrar mucha 



mas informacion. No obstante, hemos procurado sintetizar los aspectos de los distintos bloques 
funcionales y de la estructura de interconexiones en los dos grupos dominantes en el campo de la 
logica programable de alta densidad, haciendo referenda a circuitos concretos de distintas casas 
comerciales que son representativos del estado actual de la tecnologia electronica. 



^^^ 



Contenido del Tema 



13.1. ASPECTOS Generales DE LOS PLDs DE Alta Densidad 

Un circuito logico programable (PLD) es un tipo de circuito electronico que contiene, 
integrados en distintas arquitecturas, un numero relativamente elevado de modules logicos identicos 
configurables de acuerdo con diferentes esquemas de conectividad de los que emergen funciones 
terminales diferentes. Asi, disponemos de una amplia variedad de circuitos secuenciales usando para 
su sintesis el mismo tipo de circuito integrado. 

El caracter programable hace referenda al hecho de que, tanto la configuracion interna de cada 
uno de los modulos como la conectividad de estos modulos entre si y con los terminales de entrada y 
salida, pueden configurarse en el entomo de cada aplicacion, de acuerdo con las especificaciones 
funcionales de cada usuario final. 

Algunas de las formas de programar las interconexiones las hemos visto ya al estudiar las 
PROM, EPROM y EEPROM. Otras, basadas en el contenido de celdas de memoria RAM estatica, las 
veremos en este tema. 

Bajo esta definicion general de logica programable se incluye una gran diversidad de circuitos 
que nosotros hemos incluido en dos grupos: PLDs simples, con un numero de terminales entre 20 y 44 
(ya estudiados en el tema 7) y PLDs de alta densidad que, a su vez, se clasifican en dos grandes 
grupos: CPLDs y FPGAs. Aunque sus fronteras son cada vez mas difusas, es posible especificar los 
aspectos comunes a ambos grupos y algunas caracteristicas diferenciadoras. 

Es comun en ambos casos el aumento importante en la densidad de integracion. Es decir, en el 
numero de puertas y macroceldas integradas y en el numero de terminales del circuito. Tambien es 
comun la busqueda de una mayor flexibilidad en los modulos y en las interconexiones para veneer asi 
las limitaciones de las PLDs simples cuya arquitectura estaba limitada al agrupar toda la parte 
combinacional en las matrices AND y OR de entrada y dejar la programacion para las macroceldas de 
salida. Ahora se amplia la capacidad de calculo de las macroceldas y se las sitiia distribuidas por toda 



el area del circuito. Ademas, se incrementan y se hacen tambien mas flexibles los recursos de ruta 
programada de senales. Estos dos elementos basicos, modules logicos e interconexiones van a estar 
presentes en la evolucion de toda la logica programable y recibiran distintos nombres dependiendo de 
la serie y de la casa comercial especifica. Por ejemplo, los modulos logicos reciben nombres tales 
como "macroceldas", "celdas logicas", "bloques logicos programables", etc. 

Veamos ahora algunas de las caracteristicas que distinguen a los dos tipos de PLDs de alta 
densidad. 

Los CPLDs tienen una arquitectura segmentada, como las de la figura 13. La formada 
basicamente por la yuxtaposicion de un conjunto de PLDs simples, tipo PAL22V10, interconectadas a 
traves de un esquema matricial de conexiones programables. Todas las entradas y todas las 
realimentaciones se conectan a los terminales producto (minterms) de todas las macroceldas. Ademas 
de los terminos producto propios de cada macrocelda hay otros terminos producto que son 
compartidos. 

Estas arquitecturas CPLDs tienen tiempos de retardo predictibles y razonablemente constantes, 
independientemente de la funcion concreta para la que este configurado el circuito. Esta 
configuracion (programacion) puede realizarse por metodos EEPROM o SRAM y cuando el circuito 
ya esta integrado en el sistema final. Es decir, es no volatil y comienza a operar tan pronto como se 
conecta la fuente de alimentacion. 

En la parte (b) de la figura 13.1 se muestra de forma esquematica la arquitectura no 
segmentada, caracteristica de las FPGAs. Esta arquitectura no aprovecha el anterior nivel de 
integracion (las PAL), sino que parte de una concepcion modular de "grano" mas pequeno. Ahora 
todo el calculo (la parte combinacional y los biestables) se distribuye de forma homogenea sobre toda 
el area del semiconductor en forma de una matriz de "bloques logicos programables" rodeada de 
bloques de entrada/salida. La interconexion ahora no se realiza en una matriz central sino que esta 
distribuida sobre canales intercalados con los bloques , permitiendo asi casi cualquier configuracion 
de conectividad entre bloques. El ejemplo mas representativo de la primera epoca de estas 
arquitecturas es el de XILESfX, quien presento en 1985 con el nombre de LCA (Logic Cell Array) su 
serie 4000. La serie XC-4000 consta de una matriz de CLBs (Configurable Logic Blocks), rodeada 
por un anillo periferico de modulos de entrada/salida, lOBs (Input-Output Blocks), e inmersa en una 
red de canales intermedios de conexiones programables. 



I 



[Z> 
/ 



/ 



/ 

(a) 



Matriz de 
Interconexiones 



■^ 



Matrices 

AND/OR 

de Logica 

Combinacional 



ny_ 



n/ , 



Matrices 

AND/OR 

de Logica 

Combinacional 



mj 



Macrocelda 



Macrocelda 



Macrocelda 



Macrocelda 



I/O 



I/O 



(b) 



Macrocelda 



Macrocelda 



Macrocelda 



Macrocelda 



Figura 13.1. Diagrama de bloques mostrando las diferencias en los esquemas de conectividad de los CPLDs. (a) 
Arquitecturas segmantadas, basadas en matrices tipo PAL. (b) Arquitectuas modulares, de grano 
pequeiio y no segmentadas. 

Hay varias caracteristicas basicas en esta arquitectura: 
a) El incremento en la parte secuencial de los modules logicos que ahora estan distribuidos de 



forma homogenea. Cada CLB contiene calculo combinacional y secuencial y puede 
configurarse para una amplia variedad de funciones. 

b) El total desacoplo entre los CLBs y los modulos de entrada y salida (lOBs) y el caracter 
programable de sus interconexiones. 

c) La naturaleza distribuida de las rutas que siguen las senales por canales intercalados entre las 
filas y columnas de CLBs y entre estos y los lOBs. 

d) La naturaleza de los elementos soporte de la programacion. Antes teniamos fusibles y 
tecnologia EEPROM y ahora anadimos SRAM, con un transistor de paso para defmir en cada 
momento el estado funcional de cada punto de interconexion (PIP, Programable Intercoimect 
Point). Asi, los segmentos de conexiones intemas estan conectados o no, dependiendo del valor 
del bit almacenado en la celda RAM correspondiente al PIP de interconexion de esos 
segmentos. 

Tal como comentamos previamente y como volveremos a comentar al final del tema, cada vez 
hay mas elementos de hibridizacion de las arquitecturas y de los procedimientos de programacion, 
buscando lo mejor de los fusibles, las EEPROM y las RAM. Por ejemplo, el problema de las SRAM 
es su volatilidad. Es decir, la perdida de la configuracion logica al caer la fuente de alimentacion, lo 
que obliga a cargar el programa de configuracion desde una EPROM externa en cada proceso de 
inicializacion. Esto aconseja combinar EEPROM con SRAM. Tambien son difusas las fronteras de las 
FPGAs con los circuitos de aplicaciones especificas programables por mascara. La combinacion de 
estas opciones da lugar a nuevos circuitos que acomodan funciones programables a nivel de sistemas, 
SPGAs (System Programable Gate Array), donde se pueden configurar no solo funciones 
combinacionales y secuenciales de caracter convencional como contadores, registros y controladores, 
sino que tambien pasan a ser programables funciones de memoria, rutas controladas de datos, 
procesadores aritmeticos, etc... 

En el resto de este tema vamos a presentar los aspectos basicos de la evolucion de los CPLDs y 
los FPGAs. Un tratamiento en profundidad de la logica programable, desde la tecnologia electronica 
hasta el desarrollo de aplicaciones, pasando por el uso de lenguaje de descripcion del hardware tipo 
VHDL 6 Verilog, queda fuera del alcance de este texto. 



13.2. EvoLUCiON Y Ejemplos de las Arquitecturas CPLD 

Ya hemos dicho que un CPLD consta esencialmente de unos cuantos bloques logicos tipo PAL 
(matrices AND y OR y macroceldas) y un esquema de interconexion programable entre esos bloques 
y las celdas de entrada/salida. Tal como vimos en el tema 7, los bloques logicos realizan sumas de 
productos y las macroceldas de salida almacenan en biestables, sacan al exterior y/o realimentan los 
resultados de estas funciones a traves de los multiplexos. Asi, pasar de PAL a CPLD es en realidad 
un problema de escala, de numero de puertas y de niimero de terminales en el circuito. Hay tres 
niimeros que defmen los recursos de un CPLD y que, por consiguiente, determinan el caracter de 
simple o complejo de un PLD: 

1) El numero de macroceldas asociadas a cada bloque logico. De el depende la capacidad de los 
registros que pueden configurarse para sintetizar contadores, por ejemplo. Este numero es una 
cota superior del numero de estados del automata finito que puede sintetizarse con el CPLD. 
Evidentemente, para Q=2n estados necesitamos n biestables D. 

2) El numero de entradas que van a cada bloque logico desde la matriz de interconexiones. 

3) El numero de terminos producto por bloque y la forma en la que puede realizarse el reparto. Por 
ejemplo, ailadiendo a los minterms propios del bloque un conjunto de minterms compartidos. 
Al igual que con los biestables de las macroceldas, el numero de minterms define tambien un 
limite superior a la complejidad de las funciones logicas que puede acomodar el circuito. 
Veamos ahora algunos ejemplos. 

13.2.1. Familias MACH de AMDA^antis 

Las familias MACH (Macro Array CMOS high) usan tecnologia EEPROM para la 
programacion de los conmutadores. Contienen en varias PAL interconectadas a traves de una linica 
matriz de conmutacion tal como se muestra en la figura 13.2. Por ejemplo el circuito MACH231SP 
contiene 8 bloques PALCE 22vl0. A esta matriz llegan senales de los terminales configurados 
especificamente como entradas de las celdas I/O de salida que pueden configurarse como entradas, 
como salidas o en estado de alta impedancia y de las realimentaciones procedentes de las 
macroceldas. Despues, al programar la matriz de conmutacion, estas sefiales son redireccionadas 
como entradas efectivas a las matrices AND/OR de las PAL para contribuir a la construccion de los 
terminales minimos que participan en cada bloque PAL. En \a figura 13.2 hemos resumido todos los 



elementos flincionales de cada bloque PAL en las siguientes componentes: 

1) Generador de terminos minimos 

2) "Acomodador" de esos terminos minimos, asociandolos en numero variable a las distintas 
macroceldas. 

3) Macroceldas de salida. 

4) Macroceldas enterradas. 



Terminales 
Reloj/Entrada 



Terminales 

dedicados a 

Entrada 



o 
U 



g 



Rcloj 



Bloque PAL 



Main/ 
Lo'jica 



Asijinador dc 
RocursDS 
Lomcos 



Matioci.'kia dc 

Salida > 

Macroci-'lda 

[■"nicrrada 



Maui/ dc 

C'onimilacion 

dc lliurada 



Bloque PAL 



o 



Terminales 
I/O 



h-O 



Bloque PAL 



"O 



Figura 13.2. Version simplificada de los componentes funcionales y de la estructura de cada uno de los bloques 
PAL que forman los CPLDs de la familia MATCH-4 de Vantis. 



Como ya conocemos del estudio de las PAL, las macroceldas de salida pueden configurarse 
como combinacionales o secuenciales, a traves de biestables D 6 T. Las macroceldas enterradas que 
incluye la serie MACH2, permiten duplicar el numero efectivo de macroceldas a efectos de calculo 
intemo y realimentacion sin aumentar el numero de terminales del circuito. 

El circuito encargado de asignar los distintos terminos minimos los asocia, en grupos de cuatro, 
a las distintas macroceldas en funcion de las exigencias de cada diseiio concreto. Asi, por ejemplo, en 
el circuito MACH231SP cada bloque PAL dispone de 64 terminos producto de 32 entradas extemas y 



el distribuidor se encarga de asignar esos 64 terminos producto a las 16 macroceldas, de acuerdo con 
la configuracion programada. 

La familia MACH4 aumenta la densidad hasta 256 macroceldas y anade un reloj multiple, 
logica sincrona y asincrona y opciones flexibles de set y reset. Cada bloque PAL tiene ahora su propio 
generador de reloj . 

La familia MACH5 incorpora dos niveles de interconexion. Cada grupo de cuatro PAL pone 
sus propios recursos de interconexion. Despues, estos grupos de cuatro PAL, Uamados segmentos, 
entran en un segundo nivel de interconexion. Ademas, los circuitos pueden programarse y 
reprogramarse sin necesidad de extraerlos de la placa en la que se encuentran ensamblados con el 
resto de los circuitos de un sistema concrete (ISP, In System Programming). Asi, el intervalo temporal 
entre la fase de diseno y la salida al mercado de una aplicacion se reduce notablemente. Esta ventaja 
esta asociada esencialmente al uso de tecnologia EEPROM (no volatil) para el almacenamiento del 
programa de configuracion. 

13.2.2. Familias MAX y FLEX de Altera 

La familia MAX (Multiple Array Matrix), con ligeras modificaciones, sigue la estructura 
segmentada vista anteriormente. Tambien aqui las macroceldas se organizan en grupos Uamados LAB 
(Logic Array Block) equivalentes a las PAL de antes y despues esos LAB se interconectan usando 
PIAs (Programable Interconection Array) que son buses globales alimentados por todos los terminales 
I/O y por las macroceldas. Tambien se incluyen terminales dedicados solo a funciones de entrada. Lo 
distintivo de esta familia es: 

1. La extension de las macroceldas que permiten configurar sus biestables como D, T, R-S 6 J-K 
con funciones de preset y clear e incluye un reloj programable de forma independiente. 

2. La posibilidad de que las macroceldas compartan minterms, hasta un total de 32 por 
macrocelda. Para aumentar la flexibilidad se incluyen "expansores" que son grupos de 
minterms no asignados inicialmente a ninguna macrocelda. 

3. Hay reloj es globales y para los distintos grupos de macroceldas (LAB) 

La figura 13.3 muestra la arquitectura de la serie 5000. Esta serie llega hasta las 192 
macroceldas por circuito. En la serie 7000, Figura 13.4 la tecnologia de programacion pasa de 
EPROM a EEPROM y se aumenta la densidad hasta las 256 macroceldas permitiendo la 



programacion en la placa (ISP). Finalmente, la serie 9000 conserva las funcionalidades anteriores, 
aumenta el niimero de macroceldas hasta 560 y afiade nuevas vias rapidas de interconexion 
programable (FastTrack Interconnect) para filas y columnas. Estas vias de conexion rapida estan 
intercaladas entre los distintos LAB. A su vez, estos LAB mantienen su matriz local de interconexion 
entre las 16 macroceldas del grupo. Dentro del grupo existen tambien los mismos esquemas de 
realimentacion desde los biestables de salida de cada macrocelda a la matriz de conectividad local, 
donde se combinan con las entradas extemas, para generar los minterms de cada una de las 
macroceldas. 

\zy 



o 



PIA 



03 
< 



c 



LAB 



Matriz de 
Macroceldas 




Expansion do 
Terminos 
Producta - 



Control 
I/O 



►S2 



►S2 



'K^ 



a todas las otras LAB 



Figura 13. 3. Version simplificada de la arquitectura de la serie MAX-4000 de Altera, donde focalizamos en 
uno de los LABs (grupos de macroceldas). 



Si reflexionamos un poco sobre la evolucion de los PLDs, vemos como se repite el proceso 
iterativo en el diseno y en la integracion previsto por Hennie en 1961 Lo que buscamos 
esencialmente, el circuito secuencial universal y programable capaz de crecer de forma recursiva a 
traves de redes de interconexion tambien universales y programables. Como la solucion formal obvia 
que vimos en el tema 9 (N automatas modulares universales con 2N+M entradas cada uno) no es 
tecnologicamente la mas adecuada por la explosion combinatoria en el niimero de terminos minimos. 



en el niimero de terminales necesarios y, sobre todo, en la dimension de la matriz de interconexiones 



iN+M 



programables (2^ x2N), se hacen necesarias una serie de estrategias para copar con esa 
dificultad. 



Entradas I — y ' " 

y ^> 

Relojes | > 



■^ 



4^ 



\^> 



g2 — I 



o 
I 

B 
O 
O 



S2 — 



LAB A 



Macrocelda 
1 a8 



Macrocelda 
9al6 



O 
"o 

B 
O 

O 



? 



.t_I-J. 



LAB C 



■*7^ 



Macrocelda 
33 a 40 



Macrocelda 
41 a 48 



■7^ 



♦ tt ▼ 



PIA 



■7^ 



LAB D 



MacrocL-lda 
4'> a 56 



Macrocelda 
5" a ()4 



'*-7' 



■7^ 



■/^ 



X-l-t 



o 

a 
o 
O 



lAB D 



Macrocelda 
4V a 5() 



Macrocelda 

57 a 64 



■7^ 



— o 



— g2 
— S2 



o 

I 
c 
o 
U 



? 



— E3 



— S2 
—S3 



Figura 13. 4. Vision mas global, tambien simplificada de la arquitectura de la serie 7000. 



La mas general de estas estrategias ha sido la segmentacion en las dos componentes 
estructurales basicas en todo CPLD: 

1) Los modulos logicos. 

2) La estructura de interconexiones. 

Asi, primero se separa la parte combinacional de la secuencial en los modulos logicos y 
despues se combina en las macroceldas de salida. Mas tarde se segmentan las arquitecturas agrupando 
un conjunto de macroceldas y generadores de terminos minimos para formar bloques tipo PAL o 
LAB. Finalmente se separan tambien las interconexiones programables distinguiendo la conectividad 
dentro de un grupo de las vias largas y rapidas de interconectividad entre grupos y de estos con los 
modulos de entrada y salida. Ademas, en todo este proceso evolutivo de los CPLDs se aumenta 
constantemente la densidad de integracion. Es decir, el niimero de macroceldas por grupo (PAL 6 
LAB) y el niimero de grupos por circuito. 

Otro paso en la evolucion de las CPLDs es la arquitectura FLEX (Flexible Logic Element 
Matrix) de Altera donde de hecho se confunde la arquitectura CPLD con la propia de las FPGAs, 
porque combina elementos propios de una arquitectura segmentada (de grano grueso) con otros 
propios de una arquitectura homogenea(de grano pequefio), propia de los FPGAs donde ya no se 
distingue entre parte combinacional (la generacion inicial de los minterms) y secuencial (las 
macroceldas) sino que se disena en terminos de un conjunto de elementos logicos, LE ("Logical 
Elements") que combinan parte combinacional y secuencial. Es decir, son una version modificada de 
las macroceldas que ahora se distribuyen de forma homogenea sobre todo el circuito. Sin embargo, la 
arquitectura continua siendo segmentada porque estos nuevos elementos logicos (LE) tambien estan 
agrupados en LAB (Logic Array Blocks) para facilitar las interconexiones rapidas. 

Dentro de las arquitecturas FLEX hablaremos de las series 8000 y lOK. La primera porque 
incorpora las caracteristicas de series anteriores, como la 6000, y la segunda porque introduce 
elementos de novedad (bloques "empotrados") que, de nuevo, la hacen diferente de las FPGAs. 

Cada elemento logico (LE) consta de una tabla de solo lectura (LUT, "Look-Up Table") de 
cuatro entradas, un biestable programable como D, T, J-K o R-S, con preset y clear, un reloj y 
entradas y salidas para facilitar el arrastre en la conexion en cascada de varios elementos. Estas tablas 
LUT son en realidad un procedimiento para obtener cualquier funcion logica de cuatro variables por 
lectura del valor correspondiente a cada una de las 16 configuraciones mutuamente exclusivas para 



cada una de las funciones. 

.La figura 13.5 muestra el esquema de los LAB que constituyen el siguiente nivel de 
agrupamiento logico que enlazan a 8 LE y se organizan en forma de matriz. 











Lineas dedicadas 
solo a Entradas 






Fila de Interconexiones 




i 


1 


^ 




h 




Interconexion Local del LAB \ 


del LAB de la 
1 Izquierda 


u 




\ / 


\ 


\ i 


• ii- 


Senales de 


_,-W 




LEI 


















LAB 


LE2 




















LE3 




















LE4 




















LE5 




















LE6 




















LEV 




















LE8 
























1 




















al 


LABc 
ierecl 


tela 
la 



4) 

S 
O 

•a 
« 

o 



4> 

a 

a 

s 

mm 

6 



Interconexion 

de Columnas a 

Filas 



Figura 13.5. Diagrama de bloques simplificado de un LAB (Logic Array Block) de la serie FLEX 8000 de 
Altera, (las lineas de trazo grueso representan buses) 



Dentro de cada LAB hay una red de interconexion local para sus 8 elementos logicos. Ademas, 



los distintos bloques LAB del CPLD se conectan a traves de otras vias rapidas y largas que recorren 
las filas y columnas de la matriz. Cada una de estas filas y columnas facilita el intercambio de 
informacion de las LAB correspondientes con los elementos de entrada y salida (lOEs) que estan al 
final de las filas y las columnas, en la periferia de la matriz. Estos lOE son buffers de tres estados. 

Los elemento logicos de la serie FLEX 8000 pueden operar en cuatro modos diferentes : modo 
normal, modo aritmetico, modo contador reversible y modo contador con clear. En cada uno de estos 
modos se usan de forma diferente (orientada a un tipo de aplicacion) los recursos combinacionales y 
secuenciales disponibles. El nombre de los modos es representativo de las aplicaciones a las que van 
dirigidos. Asi, en el modo normal los LE se configuran para aplicaciones logicas de proposito general. 
En el modo aritmetico los LE se configuran en dos LUT de tres entradas que los hacen mas adecuados 
para la sintesis de sumadores, acumuladores y comparadores. Una LUT genera funciones de tres 
variables y la otra se usa para generar el arrastre. En los otros dos modos los LE se configuran para 
facilitar la sintesis de contadores. 

Veamos finalmente las caracteristicas generales y la arquitectura de la familia FLEX lOK, 
basada en celdas SRAM en tecnologia CMOS que son preconfigurables. Sus dos componentes 
principales son los LAB que ya conocemos y que se usan para implementar funciones 
combinacionales o secuenciales convencionales tales como sumadores o contadores o automatas 
finitos y los nuevos bloques "empotrados" EAB (Embedded Array Block). Estos EABs se usan para 
implementar bloques de memoria, multiplicadores, microprocesadores o procesadores digitales de 
seiiales (DSP). Se pretende asi que todo un sistema digital pueda configurarse en un CPLD y 
reconfigurarse sin desconectarse de la placa, cargando los nuevos datos de configuracion. Como la 
reconfiguracion requiere menos de 320ns, se pueden introducir cambios en fiempo real, durante el 
funcionamiento del circuito. 

Lafigura 13.6 muestra el esquema general de la familia FLEX lOK. En la parte superior se 
muestra el diagrama de bloques distinguiendo los bloques empotrados (EAB9 de los otros elementos 
logicos (EL) que ya conocemos. En la parte inferior de la misma figura se ilustra el esquema de un 
EAB que consiste, esencialmente, en un bloque de memoria configurable como RAM o ROM y como 
256 palabras de 8 bit, 512 palabras de 4 bits, 1024 de 2 bits 6 2048 de 1 bit. La arquitectura es analoga 
a la de la serie 8000 con los dos tipos de vias de interconexion, las LUT de cuatro variables y el 
biestable programable en cada uno de los LE de cada LAB y las conexiones con los elementos de 
entrada y salida al final de cada canal rapido de interconexion entre LABs. 



lOE . . • lOE lOE • . • lOE lOE . . . lOE lOE • • • lOE 

t_J t__J U-t L^ 



r n 



lOE 

io'e 



lOE 

io'e 




lOE 



L^IOE 



I 




I 



lOE . . . lOE lOE . . . lOE 



lOE 

io'e 



IOE • . . lOE lOE • . • lOE 




Figura 13.6. Esquema general de los circuitos FLEX lOK con bloques empotrados de memoria RAM/ROM 



Lo realmente distintivo esta en esos bloques adicionales, EABs, que incrementan notablement